<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libxslt'>
  <files>
    <file name='attributes'>
     <summary>interface for the XSLT attribute handling</summary>
     <description>this module handles the specificities of attribute and attribute groups processing. </description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltResolveStylesheetAttributeSet' type='function'/>
     <exports symbol='xsltParseStylesheetAttributeSet' type='function'/>
     <exports symbol='xsltApplyAttributeSet' type='function'/>
     <exports symbol='xsltFreeAttributeSetsHashes' type='function'/>
    </file>
    <file name='documents'>
     <summary>interface for the document handling</summary>
     <description>implements document loading and cache (multiple document() reference for the same resources must be equal. </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_LOAD_START' type='enum'/>
     <exports symbol='XSLT_LOAD_DOCUMENT' type='enum'/>
     <exports symbol='XSLT_LOAD_STYLESHEET' type='enum'/>
     <exports symbol='xsltLoadType' type='typedef'/>
     <exports symbol='xsltDocDefaultLoader' type='variable'/>
     <exports symbol='xsltFreeStyleDocuments' type='function'/>
     <exports symbol='xsltDocLoaderFunc' type='function'/>
     <exports symbol='xsltLoadDocument' type='function'/>
     <exports symbol='xsltNewStyleDocument' type='function'/>
     <exports symbol='xsltSetLoaderFunc' type='function'/>
     <exports symbol='xsltFreeDocuments' type='function'/>
     <exports symbol='xsltNewDocument' type='function'/>
     <exports symbol='xsltLoadStyleDocument' type='function'/>
     <exports symbol='xsltFindDocument' type='function'/>
    </file>
    <file name='extensions'>
     <summary>interface for the extension support</summary>
     <description>This provide the API needed for simple and module extension support. </description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltRegisterExtFunction' type='function'/>
     <exports symbol='xsltRegisterExtModuleElement' type='function'/>
     <exports symbol='xsltInitCtxtExts' type='function'/>
     <exports symbol='xsltGetExtData' type='function'/>
     <exports symbol='xsltStyleGetExtData' type='function'/>
     <exports symbol='xsltStyleExtInitFunction' type='function'/>
     <exports symbol='xsltExtFunctionLookup' type='function'/>
     <exports symbol='xsltShutdownExts' type='function'/>
     <exports symbol='xsltExtModuleElementPreComputeLookup' type='function'/>
     <exports symbol='xsltRegisterTestModule' type='function'/>
     <exports symbol='xsltStyleStylesheetLevelGetExtData' type='function'/>
     <exports symbol='xsltExtModuleElementLookup' type='function'/>
     <exports symbol='xsltStyleExtShutdownFunction' type='function'/>
     <exports symbol='xsltInitElemPreComp' type='function'/>
     <exports symbol='xsltDebugDumpExtensions' type='function'/>
     <exports symbol='xsltGetExtInfo' type='function'/>
     <exports symbol='xsltExtModuleTopLevelLookup' type='function'/>
     <exports symbol='xsltFreeExts' type='function'/>
     <exports symbol='xsltCheckExtURI' type='function'/>
     <exports symbol='xsltExtModuleFunctionLookup' type='function'/>
     <exports symbol='xsltPreComputeExtModuleElement' type='function'/>
     <exports symbol='xsltRegisterExtModuleTopLevel' type='function'/>
     <exports symbol='xsltPreComputeFunction' type='function'/>
     <exports symbol='xsltTopLevelFunction' type='function'/>
     <exports symbol='xsltShutdownCtxtExts' type='function'/>
     <exports symbol='xsltXPathGetTransformContext' type='function'/>
     <exports symbol='xsltRegisterExtElement' type='function'/>
     <exports symbol='xsltExtInitFunction' type='function'/>
     <exports symbol='xsltFreeCtxtExts' type='function'/>
     <exports symbol='xsltUnregisterExtModule' type='function'/>
     <exports symbol='xsltRegisterExtModuleFull' type='function'/>
     <exports symbol='xsltUnregisterExtModuleTopLevel' type='function'/>
     <exports symbol='xsltNewElemPreComp' type='function'/>
     <exports symbol='xsltUnregisterExtModuleElement' type='function'/>
     <exports symbol='xsltUnregisterExtModuleFunction' type='function'/>
     <exports symbol='xsltCheckExtPrefix' type='function'/>
     <exports symbol='xsltRegisterExtModule' type='function'/>
     <exports symbol='xsltExtElementLookup' type='function'/>
     <exports symbol='xsltRegisterExtModuleFunction' type='function'/>
     <exports symbol='xsltRegisterExtPrefix' type='function'/>
     <exports symbol='xsltExtShutdownFunction' type='function'/>
    </file>
    <file name='extra'>
     <summary>interface for the non-standard features</summary>
     <description>implement some extension outside the XSLT namespace but not EXSLT with is in a different library. </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_XT_NAMESPACE' type='macro'/>
     <exports symbol='XSLT_XALAN_NAMESPACE' type='macro'/>
     <exports symbol='XSLT_SAXON_NAMESPACE' type='macro'/>
     <exports symbol='XSLT_LIBXSLT_NAMESPACE' type='macro'/>
     <exports symbol='XSLT_NORM_SAXON_NAMESPACE' type='macro'/>
     <exports symbol='xsltFunctionNodeSet' type='function'/>
     <exports symbol='xsltRegisterExtras' type='function'/>
     <exports symbol='xsltDebug' type='function'/>
     <exports symbol='xsltRegisterAllExtras' type='function'/>
    </file>
    <file name='functions'>
     <summary>interface for the XSLT functions not from XPath</summary>
     <description>a set of extra functions coming from XSLT but not in XPath </description>
     <author>Daniel Veillard and Bjorn Reese &lt;breese@users.sourceforge.net&gt; </author>
     <exports symbol='XSLT_REGISTER_FUNCTION_LOOKUP' type='macro'/>
     <exports symbol='xsltXPathFunctionLookup' type='function'/>
     <exports symbol='xsltFunctionAvailableFunction' type='function'/>
     <exports symbol='xsltFormatNumberFunction' type='function'/>
     <exports symbol='xsltRegisterAllFunctions' type='function'/>
     <exports symbol='xsltKeyFunction' type='function'/>
     <exports symbol='xsltUnparsedEntityURIFunction' type='function'/>
     <exports symbol='xsltDocumentFunction' type='function'/>
     <exports symbol='xsltSystemPropertyFunction' type='function'/>
     <exports symbol='xsltElementAvailableFunction' type='function'/>
     <exports symbol='xsltGenerateIdFunction' type='function'/>
    </file>
    <file name='imports'>
     <summary>interface for the XSLT import support</summary>
     <description>macros and fuctions needed to implement and access the import tree </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_GET_IMPORT_PTR' type='macro'/>
     <exports symbol='XSLT_GET_IMPORT_INT' type='macro'/>
     <exports symbol='xsltFindTemplate' type='function'/>
     <exports symbol='xsltNextImport' type='function'/>
     <exports symbol='xsltParseStylesheetInclude' type='function'/>
     <exports symbol='xsltNeedElemSpaceHandling' type='function'/>
     <exports symbol='xsltFindElemSpaceHandling' type='function'/>
     <exports symbol='xsltParseStylesheetImport' type='function'/>
    </file>
    <file name='keys'>
     <summary>interface for the key matching used in key() and template matches.</summary>
     <description>implementation of the key mechanims. </description>
     <author>Daniel Veillard </author>
     <exports symbol='NODE_IS_KEYED' type='macro'/>
     <exports symbol='xsltInitCtxtKeys' type='function'/>
     <exports symbol='xsltFreeKeys' type='function'/>
     <exports symbol='xsltGetKey' type='function'/>
     <exports symbol='xsltFreeDocumentKeys' type='function'/>
     <exports symbol='xsltAddKey' type='function'/>
    </file>
    <file name='namespaces'>
     <summary>interface for the XSLT namespace handling</summary>
     <description>set of function easing the processing and generation of namespace nodes in XSLT. </description>
     <author>Daniel Veillard </author>
     <exports symbol='UNDEFINED_DEFAULT_NS' type='macro'/>
     <exports symbol='xsltFreeNamespaceAliasHashes' type='function'/>
     <exports symbol='xsltCopyNamespace' type='function'/>
     <exports symbol='xsltCopyNamespaceList' type='function'/>
     <exports symbol='xsltGetNamespace' type='function'/>
     <exports symbol='xsltGetPlainNamespace' type='function'/>
     <exports symbol='xsltGetSpecialNamespace' type='function'/>
     <exports symbol='xsltNamespaceAlias' type='function'/>
    </file>
    <file name='numbersInternals'>
     <summary>Implementation of the XSLT number functions</summary>
     <description>Implementation of the XSLT number functions </description>
     <author>Bjorn Reese &lt;breese@users.sourceforge.net&gt; and Daniel Veillard </author>
     <exports symbol='xsltFormatNumberInfo' type='typedef'/>
     <exports symbol='xsltNumberData' type='typedef'/>
     <exports symbol='xsltNumberDataPtr' type='typedef'/>
     <exports symbol='xsltFormatNumberInfoPtr' type='typedef'/>
     <exports symbol='_xsltNumberData' type='struct'/>
     <exports symbol='_xsltFormatNumberInfo' type='struct'/>
    </file>
    <file name='pattern'>
     <summary>interface for the pattern matching used in template matches.</summary>
     <description>the implementation of the lookup of the right template for a given node must be really fast in order to keep decent performances. </description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltCompMatch' type='typedef'/>
     <exports symbol='xsltCompMatchPtr' type='typedef'/>
     <exports symbol='xsltNormalizeCompSteps' type='function'/>
     <exports symbol='xsltAddTemplate' type='function'/>
     <exports symbol='xsltCompilePattern' type='function'/>
     <exports symbol='xsltMatchPattern' type='function'/>
     <exports symbol='xsltGetTemplate' type='function'/>
     <exports symbol='xsltTestCompMatchList' type='function'/>
     <exports symbol='xsltFreeCompMatchList' type='function'/>
     <exports symbol='xsltFreeTemplateHashes' type='function'/>
     <exports symbol='xsltCleanupTemplates' type='function'/>
    </file>
    <file name='preproc'>
     <summary>precomputing stylesheets</summary>
     <description>this is the compilation phase, where most of the stylesheet is &quot;compiled&quot; into faster to use data. </description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltExtMarker' type='variable'/>
     <exports symbol='xsltFreeStylePreComps' type='function'/>
     <exports symbol='xsltDocumentComp' type='function'/>
     <exports symbol='xsltStylePreCompute' type='function'/>
    </file>
    <file name='security'>
     <summary>interface for the libxslt security framework</summary>
     <description>the libxslt security framework allow to restrict the access to new resources (file or URL) from the stylesheet at runtime. </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_SECPREF_CREATE_DIRECTORY' type='enum'/>
     <exports symbol='XSLT_SECPREF_WRITE_FILE' type='enum'/>
     <exports symbol='XSLT_SECPREF_READ_NETWORK' type='enum'/>
     <exports symbol='XSLT_SECPREF_READ_FILE' type='enum'/>
     <exports symbol='XSLT_SECPREF_WRITE_NETWORK' type='enum'/>
     <exports symbol='xsltSecurityPrefs' type='typedef'/>
     <exports symbol='xsltSecurityPrefsPtr' type='typedef'/>
     <exports symbol='xsltSecurityOption' type='typedef'/>
     <exports symbol='xsltNewSecurityPrefs' type='function'/>
     <exports symbol='xsltSecurityCheck' type='function'/>
     <exports symbol='xsltSetSecurityPrefs' type='function'/>
     <exports symbol='xsltGetDefaultSecurityPrefs' type='function'/>
     <exports symbol='xsltFreeSecurityPrefs' type='function'/>
     <exports symbol='xsltSetDefaultSecurityPrefs' type='function'/>
     <exports symbol='xsltSetCtxtSecurityPrefs' type='function'/>
     <exports symbol='xsltGetSecurityPrefs' type='function'/>
     <exports symbol='xsltSecurityAllow' type='function'/>
     <exports symbol='xsltCheckWrite' type='function'/>
     <exports symbol='xsltCheckRead' type='function'/>
     <exports symbol='xsltSecurityForbid' type='function'/>
    </file>
    <file name='templates'>
     <summary>interface for the template processing</summary>
     <description>This set of routine encapsulates XPath calls and Attribute Value Templates evaluation. </description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltEvalStaticAttrValueTemplate' type='function'/>
     <exports symbol='xsltAttrListTemplateProcess' type='function'/>
     <exports symbol='xsltEvalTemplateString' type='function'/>
     <exports symbol='xsltAttrTemplateValueProcess' type='function'/>
     <exports symbol='xsltAttrTemplateProcess' type='function'/>
     <exports symbol='xsltEvalAttrValueTemplate' type='function'/>
     <exports symbol='xsltEvalXPathPredicate' type='function'/>
     <exports symbol='xsltAttrTemplateValueProcessNode' type='function'/>
     <exports symbol='xsltTemplateProcess' type='function'/>
     <exports symbol='xsltEvalXPathStringNs' type='function'/>
     <exports symbol='xsltEvalXPathString' type='function'/>
    </file>
    <file name='transform'>
     <summary>the XSLT engine transformation part.</summary>
     <description>This module implements the bulk of the actual</description>
     <author>Daniel Veillard </author>
     <exports symbol='xsltValueOf' type='function'/>
     <exports symbol='xsltRegisterAllElement' type='function'/>
     <exports symbol='xsltSort' type='function'/>
     <exports symbol='xsltSetXIncludeDefault' type='function'/>
     <exports symbol='xsltCopyOf' type='function'/>
     <exports symbol='xsltApplyTemplates' type='function'/>
     <exports symbol='xsltIf' type='function'/>
     <exports symbol='xsltCallTemplate' type='function'/>
     <exports symbol='xsltApplyStylesheet' type='function'/>
     <exports symbol='xsltApplyStripSpaces' type='function'/>
     <exports symbol='xsltLocalVariablePush' type='function'/>
     <exports symbol='xsltFreeTransformContext' type='function'/>
     <exports symbol='xsltRunStylesheet' type='function'/>
     <exports symbol='xsltChoose' type='function'/>
     <exports symbol='xsltCopyTextString' type='function'/>
     <exports symbol='xsltText' type='function'/>
     <exports symbol='xsltLocalVariablePop' type='function'/>
     <exports symbol='xsltNumber' type='function'/>
     <exports symbol='xsltRunStylesheetUser' type='function'/>
     <exports symbol='xsltNewTransformContext' type='function'/>
     <exports symbol='xsltGetXIncludeDefault' type='function'/>
     <exports symbol='xsltApplyOneTemplate' type='function'/>
     <exports symbol='xslHandleDebugger' type='function'/>
     <exports symbol='xsltCopy' type='function'/>
     <exports symbol='xsltDocumentElem' type='function'/>
     <exports symbol='xsltAttribute' type='function'/>
     <exports symbol='xsltApplyImports' type='function'/>
     <exports symbol='xsltElement' type='function'/>
     <exports symbol='xsltProfileStylesheet' type='function'/>
     <exports symbol='xsltForEach' type='function'/>
     <exports symbol='xsltApplyStylesheetUser' type='function'/>
     <exports symbol='xsltProcessingInstruction' type='function'/>
     <exports symbol='xsltComment' type='function'/>
    </file>
    <file name='variables'>
     <summary>interface for the variable matching and lookup.</summary>
     <description>interface for the variable matching and lookup. </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_REGISTER_VARIABLE_LOOKUP' type='macro'/>
     <exports symbol='xsltFreeGlobalVariables' type='function'/>
     <exports symbol='xsltQuoteUserParams' type='function'/>
     <exports symbol='xsltXPathVariableLookup' type='function'/>
     <exports symbol='xsltEvalUserParams' type='function'/>
     <exports symbol='xsltParseStylesheetCallerParam' type='function'/>
     <exports symbol='xsltAddStackElemList' type='function'/>
     <exports symbol='xsltParseGlobalVariable' type='function'/>
     <exports symbol='xsltQuoteOneUserParam' type='function'/>
     <exports symbol='xsltParseGlobalParam' type='function'/>
     <exports symbol='xsltParseStylesheetVariable' type='function'/>
     <exports symbol='xsltEvalGlobalVariables' type='function'/>
     <exports symbol='xsltEvalOneUserParam' type='function'/>
     <exports symbol='xsltParseStylesheetParam' type='function'/>
     <exports symbol='xsltVariableLookup' type='function'/>
    </file>
    <file name='xslt'>
     <summary>Interfaces, constants and types related to the XSLT engine</summary>
     <description>Interfaces, constants and types related to the XSLT engine </description>
     <author>Daniel Veillard </author>
     <exports symbol='XSLT_DEFAULT_VERSION' type='macro'/>
     <exports symbol='XSLT_DEFAULT_VENDOR' type='macro'/>
     <exports symbol='XSLT_PARSE_OPTIONS' type='macro'/>
     <exports symbol='XSLT_DEFAULT_URL' type='macro'/>
     <exports symbol='XSLT_NAMESPACE' type='macro'/>
     <exports symbol='xsltLibxmlVersion' type='variable'/>
     <exports symbol='xsltEngineVersion' type='variable'/>
     <exports symbol='xsltLibxsltVersion' type='variable'/>
     <exports symbol='xsltMaxDepth' type='variable'/>
     <exports symbol='xsltCleanupGlobals' type='function'/>
     <exports symbol='xsltInit' type='function'/>
    </file>
    <file name='xsltInternals'>
     <summary>internal data structures, constants and functions</summary>
     <description>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. </description>
     <author>Daniel Veillard </author>
     <exports symbol='CHECK_STOPPED0' type='macro'/>
     <exports symbol='XSLT_PAT_NO_PRIORITY' type='macro'/>
     <exports symbol='XSLT_ELEMENT_CATEGORY_XSLT' type='macro'/>
     <exports symbol='XSLT_ITEM_NSINSCOPE_FIELDS' type='macro'/>
     <exports symbol='XSLT_IS_TEXT_NODE' type='macro'/>
     <exports symbol='XSLT_VAR_GLOBAL' type='macro'/>
     <exports symbol='IS_XSLT_ELEM_FAST' type='macro'/>
     <exports symbol='XSLT_REFACTORED_VARS' type='macro'/>
     <exports symbol='XSLT_RUNTIME_EXTRA_LST' type='macro'/>
     <exports symbol='XSLT_ITEM_COMPATIBILITY_FIELDS' type='macro'/>
     <exports symbol='IS_XSLT_ATTR_FAST' type='macro'/>
     <exports symbol='XSLT_HAS_INTERNAL_NSMAP' type='macro'/>
     <exports symbol='XSLT_FAST_IF' type='macro'/>
     <exports symbol='XSLT_MARK_RES_TREE_FRAG' type='macro'/>
     <exports symbol='XSLT_GET_INTERNAL_NSMAP' type='macro'/>
     <exports symbol='XSLT_REFACTORED_KEYCOMP' type='macro'/>
     <exports symbol='XSLT_REFACTORED_XPATHCOMP' type='macro'/>
     <exports symbol='XSLT_TCTXT_VARIABLE' type='macro'/>
     <exports symbol='XSLT_ELEMENT_CATEGORY_LRE' type='macro'/>
     <exports symbol='XSLT_ITEM_NAVIGATION_FIELDS' type='macro'/>
     <exports symbol='XSLT_MAX_SORT' type='macro'/>
     <exports symbol='XSLT_RUNTIME_EXTRA' type='macro'/>
     <exports symbol='XSLT_IS_RES_TREE_FRAG' type='macro'/>
     <exports symbol='XML_CAST_FPTR' type='macro'/>
     <exports symbol='XSLT_ELEMENT_CATEGORY_EXTENSION' type='macro'/>
     <exports symbol='XSLT_ITEM_COMMON_FIELDS' type='macro'/>
     <exports symbol='CHECK_STOPPED' type='macro'/>
     <exports symbol='XSLT_RUNTIME_EXTRA_FREE' type='macro'/>
     <exports symbol='XSLT_CCTXT' type='macro'/>
     <exports symbol='CHECK_STOPPEDE' type='macro'/>
     <exports symbol='XSLT_VAR_IN_SELECT' type='macro'/>
     <exports symbol='XSLT_ERROR_SEVERITY_ERROR' type='enum'/>
     <exports symbol='XSLT_FUNC_ELEMENT' type='enum'/>
     <exports symbol='XSLT_FUNC_VALUEOF' type='enum'/>
     <exports symbol='XSLT_FUNC_WITHPARAM' type='enum'/>
     <exports symbol='XSLT_OUTPUT_XML' type='enum'/>
     <exports symbol='XSLT_STATE_ERROR' type='enum'/>
     <exports symbol='XSLT_OUTPUT_HTML' type='enum'/>
     <exports symbol='XSLT_FUNC_LITERAL_RESULT_ELEMENT' type='enum'/>
     <exports symbol='XSLT_STATE_OK' type='enum'/>
     <exports symbol='XSLT_FUNC_FOREACH' type='enum'/>
     <exports symbol='XSLT_FUNC_CHOOSE' type='enum'/>
     <exports symbol='XSLT_FUNC_SORT' type='enum'/>
     <exports symbol='XSLT_STATE_STOPPED' type='enum'/>
     <exports symbol='XSLT_ERROR_SEVERITY_WARNING' type='enum'/>
     <exports symbol='XSLT_FUNC_ATTRSET' type='enum'/>
     <exports symbol='XSLT_FUNC_NUMBER' type='enum'/>
     <exports symbol='XSLT_FUNC_ATTRIBUTE' type='enum'/>
     <exports symbol='XSLT_FUNC_APPLYTEMPLATES' type='enum'/>
     <exports symbol='XSLT_FUNC_INCLUDE' type='enum'/>
     <exports symbol='XSLT_FUNC_WHEN' type='enum'/>
     <exports symbol='XSLT_FUNC_APPLYIMPORTS' type='enum'/>
     <exports symbol='XSLT_FUNC_COPY' type='enum'/>
     <exports symbol='XSLT_FUNC_EXTENSION' type='enum'/>
     <exports symbol='XSLT_FUNC_OTHERWISE' type='enum'/>
     <exports symbol='XSLT_FUNC_COPYOF' type='enum'/>
     <exports symbol='XSLT_OUTPUT_TEXT' type='enum'/>
     <exports symbol='XSLT_FUNC_PARAM' type='enum'/>
     <exports symbol='XSLT_FUNC_COMMENT' type='enum'/>
     <exports symbol='XSLT_FUNC_MESSAGE' type='enum'/>
     <exports symbol='XSLT_FUNC_DOCUMENT' type='enum'/>
     <exports symbol='XSLT_FUNC_IF' type='enum'/>
     <exports symbol='XSLT_FUNC_PI' type='enum'/>
     <exports symbol='XSLT_FUNC_UNKOWN_FORWARDS_COMPAT' type='enum'/>
     <exports symbol='XSLT_FUNC_TEXT' type='enum'/>
     <exports symbol='XSLT_FUNC_VARIABLE' type='enum'/>
     <exports symbol='XSLT_FUNC_FALLBACK' type='enum'/>
     <exports symbol='XSLT_FUNC_CALLTEMPLATE' type='enum'/>
     <exports symbol='xsltElemPreComp' type='typedef'/>
     <exports symbol='xsltStyleItemPIPtr' type='typedef'/>
     <exports symbol='xsltDocument' type='typedef'/>
     <exports symbol='xsltStyleItemDocument' type='typedef'/>
     <exports symbol='xsltStyleItemMessagePtr' type='typedef'/>
     <exports symbol='xsltStyleItemNumberPtr' type='typedef'/>
     <exports symbol='xsltStyleBasicItemVariablePtr' type='typedef'/>
     <exports symbol='xsltStyleItemForEachPtr' type='typedef'/>
     <exports symbol='xsltTransformState' type='typedef'/>
     <exports symbol='xsltCompilerNodeInfoPtr' type='typedef'/>
     <exports symbol='xsltStyleItemLRElementInfoPtr' type='typedef'/>
     <exports symbol='xsltRuntimeExtraPtr' type='typedef'/>
     <exports symbol='xsltStyleItemLRElementInfo' type='typedef'/>
     <exports symbol='xsltStyleItemWithParamPtr' type='typedef'/>
     <exports symbol='xsltStyleItemCommentPtr' type='typedef'/>
     <exports symbol='xsltStyleItemMessage' type='typedef'/>
     <exports symbol='xsltStyleItemParamPtr' type='typedef'/>
     <exports symbol='xsltStyleItemCopyOf' type='typedef'/>
     <exports symbol='xsltStyleItemCallTemplatePtr' type='typedef'/>
     <exports symbol='xsltTransformCache' type='typedef'/>
     <exports symbol='xsltStyleItemCopyOfPtr' type='typedef'/>
     <exports symbol='xsltNsMap' type='typedef'/>
     <exports symbol='xsltEffectiveNs' type='typedef'/>
     <exports symbol='xsltStyleItemApplyImportsPtr' type='typedef'/>
     <exports symbol='xsltStylesheet' type='typedef'/>
     <exports symbol='xsltStylePreCompPtr' type='typedef'/>
     <exports symbol='xsltNsMapPtr' type='typedef'/>
     <exports symbol='xsltDecimalFormatPtr' type='typedef'/>
     <exports symbol='xsltStyleItemIncludePtr' type='typedef'/>
     <exports symbol='xsltKeyTablePtr' type='typedef'/>
     <exports symbol='xsltStyleItemTextPtr' type='typedef'/>
     <exports symbol='xsltCompilerNodeInfo' type='typedef'/>
     <exports symbol='xsltStylesheetPtr' type='typedef'/>
     <exports symbol='xsltTemplatePtr' type='typedef'/>
     <exports symbol='xsltStyleBasicEmptyItem' type='typedef'/>
     <exports symbol='xsltStackElem' type='typedef'/>
     <exports symbol='xsltStyleItemIfPtr' type='typedef'/>
     <exports symbol='xsltStyleItemWhenPtr' type='typedef'/>
     <exports symbol='xsltStyleItemElementPtr' type='typedef'/>
     <exports symbol='xsltStyleItemOtherwise' type='typedef'/>
     <exports symbol='xsltStyleItemCopy' type='typedef'/>
     <exports symbol='xsltKeyDefPtr' type='typedef'/>
     <exports symbol='xsltVarInfoPtr' type='typedef'/>
     <exports symbol='xsltStyleItemSort' type='typedef'/>
     <exports symbol='xsltTransformCachePtr' type='typedef'/>
     <exports symbol='xsltStyleItemExtElementPtr' type='typedef'/>
     <exports symbol='xsltNsAliasPtr' type='typedef'/>
     <exports symbol='xsltStyleItemValueOfPtr' type='typedef'/>
     <exports symbol='xsltDocumentPtr' type='typedef'/>
     <exports symbol='xsltPointerListPtr' type='typedef'/>
     <exports symbol='xsltTemplate' type='typedef'/>
     <exports symbol='xsltStyleBasicExpressionItemPtr' type='typedef'/>
     <exports symbol='xsltRuntimeExtra' type='typedef'/>
     <exports symbol='xsltStyleItemAttributePtr' type='typedef'/>
     <exports symbol='xsltTransformContext' type='typedef'/>
     <exports symbol='xsltPointerList' type='typedef'/>
     <exports symbol='xsltStyleItemUknown' type='typedef'/>
     <exports symbol='xsltErrorSeverityType' type='typedef'/>
     <exports symbol='xsltElemPreCompPtr' type='typedef'/>
     <exports symbol='xsltStyleItemFallback' type='typedef'/>
     <exports symbol='xsltStyleItemOtherwisePtr' type='typedef'/>
     <exports symbol='xsltStyleItemWhen' type='typedef'/>
     <exports symbol='xsltStyleItemIf' type='typedef'/>
     <exports symbol='xsltTransformContextPtr' type='typedef'/>
     <exports symbol='xsltNsList' type='typedef'/>
     <exports symbol='xsltStyleItemForEach' type='typedef'/>
     <exports symbol='xsltStyleItemExtElement' type='typedef'/>
     <exports symbol='xsltNsListContainerPtr' type='typedef'/>
     <exports symbol='xsltStyleBasicExpressionItem' type='typedef'/>
     <exports symbol='xsltStyleItemWithParam' type='typedef'/>
     <exports symbol='xsltStyleItemElement' type='typedef'/>
     <exports symbol='xsltCompilerCtxt' type='typedef'/>
     <exports symbol='xsltStyleItemComment' type='typedef'/>
     <exports symbol='xsltEffectiveNsPtr' type='typedef'/>
     <exports symbol='xsltStyleItemVariable' type='typedef'/>
     <exports symbol='xsltStyleItemVariablePtr' type='typedef'/>
     <exports symbol='xsltStyleItemParam' type='typedef'/>
     <exports symbol='xsltNsListContainer' type='typedef'/>
     <exports symbol='xsltStackElemPtr' type='typedef'/>
     <exports symbol='xsltStyleBasicEmptyItemPtr' type='typedef'/>
     <exports symbol='xsltStyleItemText' type='typedef'/>
     <exports symbol='xsltStyleItemCopyPtr' type='typedef'/>
     <exports symbol='xsltStyleItemSortPtr' type='typedef'/>
     <exports symbol='xsltPrincipalStylesheetData' type='typedef'/>
     <exports symbol='xsltOutputType' type='typedef'/>
     <exports symbol='xsltPrincipalStylesheetDataPtr' type='typedef'/>
     <exports symbol='xsltStyleBasicItemVariable' type='typedef'/>
     <exports symbol='xsltStyleItemChoosePtr' type='typedef'/>
     <exports symbol='xsltNsAlias' type='typedef'/>
     <exports symbol='xsltVarInfo' type='typedef'/>
     <exports symbol='xsltStyleItemApplyImports' type='typedef'/>
     <exports symbol='xsltKeyTable' type='typedef'/>
     <exports symbol='xsltStylePreComp' type='typedef'/>
     <exports symbol='xsltNsListPtr' type='typedef'/>
     <exports symbol='xsltKeyDef' type='typedef'/>
     <exports symbol='xsltDecimalFormat' type='typedef'/>
     <exports symbol='xsltStyleItemApplyTemplatesPtr' type='typedef'/>
     <exports symbol='xsltStyleItemUknownPtr' type='typedef'/>
     <exports symbol='xsltStyleItemValueOf' type='typedef'/>
     <exports symbol='xsltCompilerCtxtPtr' type='typedef'/>
     <exports symbol='xsltStyleItemAttribute' type='typedef'/>
     <exports symbol='xsltStyleItemDocumentPtr' type='typedef'/>
     <exports symbol='xsltStyleItemCallTemplate' type='typedef'/>
     <exports symbol='xsltStyleItemFallbackPtr' type='typedef'/>
     <exports symbol='xsltStyleItemNumber' type='typedef'/>
     <exports symbol='xsltStyleItemApplyTemplates' type='typedef'/>
     <exports symbol='xsltStyleItemChoose' type='typedef'/>
     <exports symbol='xsltStyleType' type='typedef'/>
     <exports symbol='xsltStyleItemPI' type='typedef'/>
     <exports symbol='xsltStyleItemInclude' type='typedef'/>
     <exports symbol='_xsltPointerList' type='struct'/>
     <exports symbol='_xsltStyleItemSort' type='struct'/>
     <exports symbol='_xsltNsAlias' type='struct'/>
     <exports symbol='_xsltTemplate' type='struct'/>
     <exports symbol='_xsltStyleItemWhen' type='struct'/>
     <exports symbol='_xsltVarInfo' type='struct'/>
     <exports symbol='_xsltNsList' type='struct'/>
     <exports symbol='_xsltStyleItemInclude' type='struct'/>
     <exports symbol='_xsltEffectiveNs' type='struct'/>
     <exports symbol='_xsltDecimalFormat' type='struct'/>
     <exports symbol='_xsltStyleItemAttribute' type='struct'/>
     <exports symbol='_xsltStyleItemValueOf' type='struct'/>
     <exports symbol='_xsltStyleItemDocument' type='struct'/>
     <exports symbol='_xsltStyleItemMessage' type='struct'/>
     <exports symbol='_xsltStyleItemCopy' type='struct'/>
     <exports symbol='_xsltStyleItemText' type='struct'/>
     <exports symbol='_xsltStyleBasicExpressionItem' type='struct'/>
     <exports symbol='_xsltStylesheet' type='struct'/>
     <exports symbol='_xsltNsListContainer' type='struct'/>
     <exports symbol='_xsltStyleItemCallTemplate' type='struct'/>
     <exports symbol='_xsltStyleItemApplyTemplates' type='struct'/>
     <exports symbol='_xsltElemPreComp' type='struct'/>
     <exports symbol='_xsltCompilerCtxt' type='struct'/>
     <exports symbol='_xsltKeyTable' type='struct'/>
     <exports symbol='_xsltStyleItemUknown' type='struct'/>
     <exports symbol='_xsltStyleItemNumber' type='struct'/>
     <exports symbol='_xsltStylePreComp' type='struct'/>
     <exports symbol='_xsltTransformCache' type='struct'/>
     <exports symbol='_xsltCompilerNodeInfo' type='struct'/>
     <exports symbol='_xsltNsMap' type='struct'/>
     <exports symbol='_xsltStyleItemElement' type='struct'/>
     <exports symbol='_xsltStyleItemPI' type='struct'/>
     <exports symbol='_xsltStyleItemExtElement' type='struct'/>
     <exports symbol='_xsltStyleItemParam' type='struct'/>
     <exports symbol='_xsltStackElem' type='struct'/>
     <exports symbol='_xsltTransformContext' type='struct'/>
     <exports symbol='_xsltStyleItemIf' type='struct'/>
     <exports symbol='_xsltStyleBasicItemVariable' type='struct'/>
     <exports symbol='_xsltRuntimeExtra' type='struct'/>
     <exports symbol='_xsltKeyDef' type='struct'/>
     <exports symbol='_xsltPrincipalStylesheetData' type='struct'/>
     <exports symbol='_xsltStyleItemLRElementInfo' type='struct'/>
     <exports symbol='_xsltStyleItemOtherwise' type='struct'/>
     <exports symbol='_xsltDocument' type='struct'/>
     <exports symbol='_xsltStyleBasicEmptyItem' type='struct'/>
     <exports symbol='xsltXSLTAttrMarker' type='variable'/>
     <exports symbol='xsltConstNamespaceNameXSLT' type='variable'/>
     <exports symbol='xsltElemPreCompDeallocator' type='function'/>
     <exports symbol='xsltRegisterPersistRVT' type='function'/>
     <exports symbol='xsltParseStylesheetImportedDoc' type='function'/>
     <exports symbol='xsltFreeStackElemList' type='function'/>
     <exports symbol='xsltTransStorageAdd' type='function'/>
     <exports symbol='xsltAllocateExtra' type='function'/>
     <exports symbol='xsltParseSequenceConstructor' type='function'/>
     <exports symbol='xsltRegisterTmpRVT' type='function'/>
     <exports symbol='xsltInitAllDocKeys' type='function'/>
     <exports symbol='xsltExtensionInstructionResultFinalize' type='function'/>
     <exports symbol='xsltPointerListFree' type='function'/>
     <exports symbol='xsltIsBlank' type='function'/>
     <exports symbol='xsltFormatNumberConversion' type='function'/>
     <exports symbol='xsltPointerListAddSize' type='function'/>
     <exports symbol='xsltSortFunc' type='function'/>
     <exports symbol='xsltUninit' type='function'/>
     <exports symbol='xsltFreeStylesheet' type='function'/>
     <exports symbol='xsltCreateRVT' type='function'/>
     <exports symbol='xsltParseStylesheetFile' type='function'/>
     <exports symbol='xsltParseStylesheetOutput' type='function'/>
     <exports symbol='xsltParseAnyXSLTElem' type='function'/>
     <exports symbol='xsltCompileAttr' type='function'/>
     <exports symbol='xsltRestoreDocumentNamespaces' type='function'/>
     <exports symbol='xsltNumberFormat' type='function'/>
     <exports symbol='xsltReleaseRVT' type='function'/>
     <exports symbol='xsltFreeRVTs' type='function'/>
     <exports symbol='xsltExtensionInstructionResultRegister' type='function'/>
     <exports symbol='xsltPointerListCreate' type='function'/>
     <exports symbol='xsltTransStorageRemove' type='function'/>
     <exports symbol='xsltFreeAVTList' type='function'/>
     <exports symbol='xsltAllocateExtraCtxt' type='function'/>
     <exports symbol='xsltParseTemplateContent' type='function'/>
     <exports symbol='xsltNewStylesheet' type='function'/>
     <exports symbol='xsltParseStylesheetProcess' type='function'/>
     <exports symbol='xsltDecimalFormatGetByName' type='function'/>
     <exports symbol='xsltTransformFunction' type='function'/>
     <exports symbol='xsltRegisterLocalRVT' type='function'/>
     <exports symbol='xsltParseStylesheetDoc' type='function'/>
     <exports symbol='xsltInitCtxtKey' type='function'/>
     <exports symbol='xsltEvalAVT' type='function'/>
     <exports symbol='xsltPointerListClear' type='function'/>
     <exports symbol='xsltLoadStylesheetPI' type='function'/>
    </file>
    <file name='xsltexports'>
     <summary>macros for marking symbols as exportable/importable.</summary>
     <description>macros for marking symbols as exportable/importable. </description>
     <author>Igor Zlatkovic &lt;igor@zlatkovic.com&gt; </author>
     <exports symbol='LIBXSLT_PUBLIC' type='macro'/>
     <exports symbol='XSLTPUBFUN' type='macro'/>
     <exports symbol='XSLTPUBVAR' type='macro'/>
     <exports symbol='_REENTRANT' type='macro'/>
     <exports symbol='XSLTCALL' type='macro'/>
    </file>
    <file name='xsltutils'>
     <summary>set of utilities for the XSLT engine</summary>
     <description>interfaces for the utilities module of the XSLT engine. things like message handling, profiling, and other generally useful routines. </description>
     <author>Daniel Veillard </author>
     <exports symbol='IS_XSLT_REAL_NODE' type='macro'/>
     <exports symbol='IS_XSLT_ELEM' type='macro'/>
     <exports symbol='IS_XSLT_NAME' type='macro'/>
     <exports symbol='XSLT_TODO' type='macro'/>
     <exports symbol='XSLT_STRANGE' type='macro'/>
     <exports symbol='XSLT_TIMESTAMP_TICS_PER_SEC' type='macro'/>
     <exports symbol='XSLT_TRACE' type='macro'/>
     <exports symbol='XSLT_TRACE_KEYS' type='enum'/>
     <exports symbol='XSLT_DEBUG_NEXT' type='enum'/>
     <exports symbol='XSLT_TRACE_COPY_OF' type='enum'/>
     <exports symbol='XSLT_TRACE_FOR_EACH' type='enum'/>
     <exports symbol='XSLT_DEBUG_STEPOUT' type='enum'/>
     <exports symbol='XSLT_DEBUG_RUN' type='enum'/>
     <exports symbol='XSLT_TRACE_APPLY_TEMPLATES' type='enum'/>
     <exports symbol='XSLT_TRACE_CHOOSE' type='enum'/>
     <exports symbol='XSLT_DEBUG_INIT' type='enum'/>
     <exports symbol='XSLT_DEBUG_RUN_RESTART' type='enum'/>
     <exports symbol='XSLT_TRACE_ALL' type='enum'/>
     <exports symbol='XSLT_TRACE_CALL_TEMPLATE' type='enum'/>
     <exports symbol='XSLT_TRACE_IF' type='enum'/>
     <exports symbol='XSLT_TRACE_PROCESS_NODE' type='enum'/>
     <exports symbol='XSLT_TRACE_COPY_TEXT' type='enum'/>
     <exports symbol='XSLT_TRACE_APPLY_TEMPLATE' type='enum'/>
     <exports symbol='XSLT_DEBUG_CONT' type='enum'/>
     <exports symbol='XSLT_TRACE_VALUE_OF' type='enum'/>
     <exports symbol='XSLT_DEBUG_STEP' type='enum'/>
     <exports symbol='XSLT_TRACE_STRIP_SPACES' type='enum'/>
     <exports symbol='XSLT_DEBUG_STOP' type='enum'/>
     <exports symbol='XSLT_TRACE_COPY' type='enum'/>
     <exports symbol='XSLT_TRACE_NONE' type='enum'/>
     <exports symbol='XSLT_DEBUG_NONE' type='enum'/>
     <exports symbol='XSLT_TRACE_PI' type='enum'/>
     <exports symbol='XSLT_TRACE_COMMENT' type='enum'/>
     <exports symbol='XSLT_TRACE_VARIABLES' type='enum'/>
     <exports symbol='XSLT_DEBUG_QUIT' type='enum'/>
     <exports symbol='XSLT_TRACE_TEMPLATES' type='enum'/>
     <exports symbol='xsltDebugTraceCodes' type='typedef'/>
     <exports symbol='xsltDebugStatusCodes' type='typedef'/>
     <exports symbol='xsltGenericError' type='variable'/>
     <exports symbol='xsltGenericDebug' type='variable'/>
     <exports symbol='xsltGenericErrorContext' type='variable'/>
     <exports symbol='xslDebugStatus' type='variable'/>
     <exports symbol='xsltGenericDebugContext' type='variable'/>
     <exports symbol='xsltSaveResultToFile' type='function'/>
     <exports symbol='xsltSetGenericErrorFunc' type='function'/>
     <exports symbol='xsltSetDebuggerCallbacks' type='function'/>
     <exports symbol='xsltSaveResultTo' type='function'/>
     <exports symbol='xsltTransformError' type='function'/>
     <exports symbol='xslAddCall' type='function'/>
     <exports symbol='xsltDocumentSortFunction' type='function'/>
     <exports symbol='xsltGetQNameURI2' type='function'/>
     <exports symbol='xsltComputeSortResult' type='function'/>
     <exports symbol='xsltPrintErrorContext' type='function'/>
     <exports symbol='xsltGetUTF8Char' type='function'/>
     <exports symbol='xsltDefaultSortFunction' type='function'/>
     <exports symbol='xsltSaveResultToFd' type='function'/>
     <exports symbol='xsltSetCtxtSortFunc' type='function'/>
     <exports symbol='xsltGetNsProp' type='function'/>
     <exports symbol='xsltGetCNsProp' type='function'/>
     <exports symbol='xsltGetQNameURI' type='function'/>
     <exports symbol='xsltAddCallCallback' type='function'/>
     <exports symbol='xsltCalibrateAdjust' type='function'/>
     <exports symbol='xsltSaveProfiling' type='function'/>
     <exports symbol='xsltSaveResultToString' type='function'/>
     <exports symbol='xsltSplitQName' type='function'/>
     <exports symbol='xsltDoSortFunction' type='function'/>
     <exports symbol='xsltDebugGetDefaultTrace' type='function'/>
     <exports symbol='xsltMessage' type='function'/>
     <exports symbol='xsltGetDebuggerStatus' type='function'/>
     <exports symbol='xsltTimestamp' type='function'/>
     <exports symbol='xsltSetTransformErrorFunc' type='function'/>
     <exports symbol='xsltXPathCompile' type='function'/>
     <exports symbol='xsltDebugSetDefaultTrace' type='function'/>
     <exports symbol='xsltSetGenericDebugFunc' type='function'/>
     <exports symbol='xsltSetCtxtParseOptions' type='function'/>
     <exports symbol='xsltSetDebuggerStatus' type='function'/>
     <exports symbol='xslDropCall' type='function'/>
     <exports symbol='xsltSetSortFunc' type='function'/>
     <exports symbol='xsltHandleDebuggerCallback' type='function'/>
     <exports symbol='xsltSaveResultToFilename' type='function'/>
     <exports symbol='xsltDropCallCallback' type='function'/>
     <exports symbol='xsltGetProfileInformation' type='function'/>
    </file>
  </files>
  <symbols>
    <macro name='CHECK_STOPPED' file='xsltInternals'>
      <info>Macro to check if the XSLT processing should be stopped. Will return from the function.</info>
    </macro>
    <macro name='CHECK_STOPPED0' file='xsltInternals'>
      <info>Macro to check if the XSLT processing should be stopped. Will return from the function with a 0 value.</info>
    </macro>
    <macro name='CHECK_STOPPEDE' file='xsltInternals'>
      <info>Macro to check if the XSLT processing should be stopped. Will goto the error: label.</info>
    </macro>
    <macro name='IS_XSLT_ATTR_FAST' file='xsltInternals'>
      <info>quick check for xslt namespace attribute</info>
    </macro>
    <macro name='IS_XSLT_ELEM' file='xsltutils'>
      <info>Checks that the element pertains to XSLT namespace.</info>
    </macro>
    <macro name='IS_XSLT_ELEM_FAST' file='xsltInternals'>
      <info>quick check whether this is an xslt element</info>
    </macro>
    <macro name='IS_XSLT_NAME' file='xsltutils'>
      <info>Checks the value of an element in XSLT namespace.</info>
    </macro>
    <macro name='IS_XSLT_REAL_NODE' file='xsltutils'>
      <info>Check that a node is a &apos;real&apos; one: document, element, text or attribute.</info>
    </macro>
    <macro name='LIBXSLT_PUBLIC' file='xsltexports'>
    </macro>
    <macro name='NODE_IS_KEYED' file='keys'>
      <info>check for bit 15 set</info>
    </macro>
    <macro name='UNDEFINED_DEFAULT_NS' file='namespaces'>
      <info>Special value for undefined namespace, internal</info>
    </macro>
    <macro name='XML_CAST_FPTR' file='xsltInternals'>
      <info>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 **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</info>
      <arg name='fptr' info='pointer to a function'/>
    </macro>
    <macro name='XSLTCALL' file='xsltexports'>
    </macro>
    <macro name='XSLTPUBFUN' file='xsltexports'>
    </macro>
    <macro name='XSLTPUBVAR' file='xsltexports'>
    </macro>
    <macro name='XSLT_CCTXT' file='xsltInternals'>
      <info>get pointer to compiler context</info>
    </macro>
    <macro name='XSLT_DEFAULT_URL' file='xslt'>
      <info>The XSLT &quot;vendor&quot; URL for this processor.</info>
    </macro>
    <macro name='XSLT_DEFAULT_VENDOR' file='xslt'>
      <info>The XSLT &quot;vendor&quot; string for this processor.</info>
    </macro>
    <macro name='XSLT_DEFAULT_VERSION' file='xslt'>
      <info>The default version of XSLT supported.</info>
    </macro>
    <macro name='XSLT_ELEMENT_CATEGORY_EXTENSION' file='xsltInternals'>
    </macro>
    <macro name='XSLT_ELEMENT_CATEGORY_LRE' file='xsltInternals'>
    </macro>
    <macro name='XSLT_ELEMENT_CATEGORY_XSLT' file='xsltInternals'>
    </macro>
    <macro name='XSLT_FAST_IF' file='xsltInternals'>
      <info>Internal define to enable usage of xmlXPathCompiledEvalToBoolean() for XSLT &quot;tests&quot;; e.g. in &lt;xsl:if test=&quot;/foo/bar&quot;&gt;</info>
    </macro>
    <macro name='XSLT_GET_IMPORT_INT' file='imports'>
      <info>A macro to import intergers from the stylesheet cascading order.</info>
    </macro>
    <macro name='XSLT_GET_IMPORT_PTR' file='imports'>
      <info>A macro to import pointers from the stylesheet cascading order.</info>
    </macro>
    <macro name='XSLT_GET_INTERNAL_NSMAP' file='xsltInternals'>
      <info>get pointer to namespace map</info>
    </macro>
    <macro name='XSLT_HAS_INTERNAL_NSMAP' file='xsltInternals'>
      <info>check for namespace mapping</info>
    </macro>
    <macro name='XSLT_IS_RES_TREE_FRAG' file='xsltInternals'>
      <info>internal macro to test tree fragments</info>
    </macro>
    <macro name='XSLT_IS_TEXT_NODE' file='xsltInternals'>
      <info>check if the argument is a text node</info>
    </macro>
    <macro name='XSLT_ITEM_COMMON_FIELDS' file='xsltInternals'>
      <info>Common fields used for all items.</info>
    </macro>
    <macro name='XSLT_ITEM_COMPATIBILITY_FIELDS' file='xsltInternals'>
      <info>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.</info>
    </macro>
    <macro name='XSLT_ITEM_NAVIGATION_FIELDS' file='xsltInternals'>
      <info>Currently empty. TODO: It is intended to hold navigational fields in the future.</info>
    </macro>
    <macro name='XSLT_ITEM_NSINSCOPE_FIELDS' file='xsltInternals'>
      <info>The in-scope namespaces.</info>
    </macro>
    <macro name='XSLT_LIBXSLT_NAMESPACE' file='extra'>
      <info>This is the libxslt namespace for specific extensions.</info>
    </macro>
    <macro name='XSLT_MARK_RES_TREE_FRAG' file='xsltInternals'>
      <info>internal macro to set up tree fragments</info>
    </macro>
    <macro name='XSLT_MAX_SORT' file='xsltInternals'>
      <info>Max number of specified xsl:sort on an element.</info>
    </macro>
    <macro name='XSLT_NAMESPACE' file='xslt'>
      <info>The XSLT specification namespace.</info>
    </macro>
    <macro name='XSLT_NORM_SAXON_NAMESPACE' file='extra'>
      <info>This is Norm&apos;s namespace for SAXON extensions.</info>
    </macro>
    <macro name='XSLT_PARSE_OPTIONS' file='xslt'>
      <info>The set of options to pass to an xmlReadxxx when loading files for XSLT consumption.</info>
    </macro>
    <macro name='XSLT_PAT_NO_PRIORITY' file='xsltInternals'>
      <info>Specific value for pattern without priority expressed.</info>
    </macro>
    <macro name='XSLT_REFACTORED_KEYCOMP' file='xsltInternals'>
      <info>Internal define to enable on-demand xsl:key computation. That&apos;s the only mode now but the define is kept for compatibility</info>
    </macro>
    <macro name='XSLT_REFACTORED_VARS' file='xsltInternals'>
      <info>Internal define to enable the refactored variable part of libxslt</info>
    </macro>
    <macro name='XSLT_REFACTORED_XPATHCOMP' file='xsltInternals'>
      <info>Internal define to enable the optimization of the compilation of XPath expressions.</info>
    </macro>
    <macro name='XSLT_REGISTER_FUNCTION_LOOKUP' file='functions'>
      <info>Registering macro, not general purpose at all but used in different modules.</info>
    </macro>
    <macro name='XSLT_REGISTER_VARIABLE_LOOKUP' file='variables'>
      <info>Registering macro, not general purpose at all but used in different modules.</info>
    </macro>
    <macro name='XSLT_RUNTIME_EXTRA' file='xsltInternals'>
      <info>Macro used to define extra information stored in the context</info>
      <arg name='ctxt' info='the transformation context'/>
      <arg name='nr' info='the index'/>
    </macro>
    <macro name='XSLT_RUNTIME_EXTRA_FREE' file='xsltInternals'>
      <info>Macro used to free extra information stored in the context</info>
      <arg name='ctxt' info='the transformation context'/>
      <arg name='nr' info='the index'/>
    </macro>
    <macro name='XSLT_RUNTIME_EXTRA_LST' file='xsltInternals'>
      <info>Macro used to access extra information stored in the context</info>
      <arg name='ctxt' info='the transformation context'/>
      <arg name='nr' info='the index'/>
    </macro>
    <macro name='XSLT_SAXON_NAMESPACE' file='extra'>
      <info>This is Michael Kay&apos;s Saxon processor namespace for extensions.</info>
    </macro>
    <macro name='XSLT_STRANGE' file='xsltutils'>
      <info>Macro to flag that a problem was detected internally.</info>
    </macro>
    <macro name='XSLT_TCTXT_VARIABLE' file='xsltInternals'>
    </macro>
    <macro name='XSLT_TIMESTAMP_TICS_PER_SEC' file='xsltutils'>
      <info>Sampling precision for profiling</info>
    </macro>
    <macro name='XSLT_TODO' file='xsltutils'>
      <info>Macro to flag unimplemented blocks.</info>
    </macro>
    <macro name='XSLT_TRACE' file='xsltutils'>
      <info>Control the type of xsl debugtrace messages emitted.</info>
    </macro>
    <macro name='XSLT_VAR_GLOBAL' file='xsltInternals'>
    </macro>
    <macro name='XSLT_VAR_IN_SELECT' file='xsltInternals'>
    </macro>
    <macro name='XSLT_XALAN_NAMESPACE' file='extra'>
      <info>This is the Apache project XALAN processor namespace for extensions.</info>
    </macro>
    <macro name='XSLT_XT_NAMESPACE' file='extra'>
      <info>This is James Clark&apos;s XT processor namespace for extensions.</info>
    </macro>
    <macro name='_REENTRANT' file='xsltexports'>
    </macro>
    <enum name='XSLT_DEBUG_CONT' file='xsltutils' value='6' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_INIT' file='xsltutils' value='1' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_NEXT' file='xsltutils' value='4' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_NONE' file='xsltutils' value='0' type='xsltDebugStatusCodes' info='no debugging allowed'/>
    <enum name='XSLT_DEBUG_QUIT' file='xsltutils' value='9' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_RUN' file='xsltutils' value='7' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_RUN_RESTART' file='xsltutils' value='8' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_STEP' file='xsltutils' value='2' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_STEPOUT' file='xsltutils' value='3' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_DEBUG_STOP' file='xsltutils' value='5' type='xsltDebugStatusCodes'/>
    <enum name='XSLT_ERROR_SEVERITY_ERROR' file='xsltInternals' value='0' type='xsltErrorSeverityType'/>
    <enum name='XSLT_ERROR_SEVERITY_WARNING' file='xsltInternals' value='1' type='xsltErrorSeverityType'/>
    <enum name='XSLT_FUNC_APPLYIMPORTS' file='xsltInternals' value='11' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_APPLYTEMPLATES' file='xsltInternals' value='13' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_ATTRIBUTE' file='xsltInternals' value='5' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_ATTRSET' file='xsltInternals' value='27' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_CALLTEMPLATE' file='xsltInternals' value='12' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_CHOOSE' file='xsltInternals' value='14' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_COMMENT' file='xsltInternals' value='6' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_COPY' file='xsltInternals' value='1' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_COPYOF' file='xsltInternals' value='8' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_DOCUMENT' file='xsltInternals' value='17' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_ELEMENT' file='xsltInternals' value='4' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_EXTENSION' file='xsltInternals' value='22' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_FALLBACK' file='xsltInternals' value='24' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_FOREACH' file='xsltInternals' value='16' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_IF' file='xsltInternals' value='15' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_INCLUDE' file='xsltInternals' value='26' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_LITERAL_RESULT_ELEMENT' file='xsltInternals' value='28' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_MESSAGE' file='xsltInternals' value='25' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_NUMBER' file='xsltInternals' value='10' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_OTHERWISE' file='xsltInternals' value='23' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_PARAM' file='xsltInternals' value='19' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_PI' file='xsltInternals' value='7' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_SORT' file='xsltInternals' value='2' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_TEXT' file='xsltInternals' value='3' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_UNKOWN_FORWARDS_COMPAT' file='xsltInternals' value='29' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_VALUEOF' file='xsltInternals' value='9' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_VARIABLE' file='xsltInternals' value='20' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_WHEN' file='xsltInternals' value='21' type='xsltStyleType'/>
    <enum name='XSLT_FUNC_WITHPARAM' file='xsltInternals' value='18' type='xsltStyleType'/>
    <enum name='XSLT_LOAD_DOCUMENT' file='documents' value='2' type='xsltLoadType' info=' loading document at transformation time'/>
    <enum name='XSLT_LOAD_START' file='documents' value='0' type='xsltLoadType' info='loading for a top stylesheet'/>
    <enum name='XSLT_LOAD_STYLESHEET' file='documents' value='1' type='xsltLoadType' info='loading for a stylesheet include/import'/>
    <enum name='XSLT_OUTPUT_HTML' file='xsltInternals' value='1' type='xsltOutputType'/>
    <enum name='XSLT_OUTPUT_TEXT' file='xsltInternals' value='2' type='xsltOutputType'/>
    <enum name='XSLT_OUTPUT_XML' file='xsltInternals' value='0' type='xsltOutputType'/>
    <enum name='XSLT_SECPREF_CREATE_DIRECTORY' file='security' value='3' type='xsltSecurityOption'/>
    <enum name='XSLT_SECPREF_READ_FILE' file='security' value='1' type='xsltSecurityOption'/>
    <enum name='XSLT_SECPREF_READ_NETWORK' file='security' value='4' type='xsltSecurityOption'/>
    <enum name='XSLT_SECPREF_WRITE_FILE' file='security' value='2' type='xsltSecurityOption'/>
    <enum name='XSLT_SECPREF_WRITE_NETWORK' file='security' value='5' type='xsltSecurityOption'/>
    <enum name='XSLT_STATE_ERROR' file='xsltInternals' value='1' type='xsltTransformState'/>
    <enum name='XSLT_STATE_OK' file='xsltInternals' value='0' type='xsltTransformState'/>
    <enum name='XSLT_STATE_STOPPED' file='xsltInternals' value='2' type='xsltTransformState'/>
    <enum name='XSLT_TRACE_ALL' file='xsltutils' value='-1' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_APPLY_TEMPLATE' file='xsltutils' value='4' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_APPLY_TEMPLATES' file='xsltutils' value='512' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_CALL_TEMPLATE' file='xsltutils' value='256' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_CHOOSE' file='xsltutils' value='1024' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_COMMENT' file='xsltutils' value='16' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_COPY' file='xsltutils' value='8' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_COPY_OF' file='xsltutils' value='64' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_COPY_TEXT' file='xsltutils' value='1' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_FOR_EACH' file='xsltutils' value='4096' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_IF' file='xsltutils' value='2048' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_KEYS' file='xsltutils' value='32768' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_NONE' file='xsltutils' value='0' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_PI' file='xsltutils' value='32' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_PROCESS_NODE' file='xsltutils' value='2' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_STRIP_SPACES' file='xsltutils' value='8192' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_TEMPLATES' file='xsltutils' value='16384' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_VALUE_OF' file='xsltutils' value='128' type='xsltDebugTraceCodes'/>
    <enum name='XSLT_TRACE_VARIABLES' file='xsltutils' value='65536' type='xsltDebugTraceCodes'/>
    <struct name='xsltCompMatch' file='pattern' type='struct _xsltCompMatch'/>
    <typedef name='xsltCompMatchPtr' file='pattern' type='xsltCompMatch *'/>
    <struct name='xsltCompilerCtxt' file='xsltInternals' type='struct _xsltCompilerCtxt'>
      <field name='errorCtxt' type='void *' info='* used for error/warning reports; e.g. XSLT_ERROR_SEVERITY_WARNING'/>
      <field name='errSeverity' type='xsltErrorSeverityType' info=''/>
      <field name='warnings' type='int' info=' TODO: number of warnings found at
compilation'/>
      <field name='errors' type='int' info=' TODO: number of errors found at
compilation'/>
      <field name='dict' type='xmlDictPtr' info=''/>
      <field name='style' type='xsltStylesheetPtr' info=''/>
      <field name='simplified' type='int' info=' whether this is a simplified stylesheet TODO: structured/unstructured error contexts.'/>
      <field name='depth' type='int' info=' Current depth of processing'/>
      <field name='inode' type='xsltCompilerNodeInfoPtr' info=''/>
      <field name='inodeList' type='xsltCompilerNodeInfoPtr' info=''/>
      <field name='inodeLast' type='xsltCompilerNodeInfoPtr' info=''/>
      <field name='tmpList' type='xsltPointerListPtr' info='* The XSLT version as specified by the stylesheet&apos;s root element.
*'/>
      <field name='isInclude' type='int' info=''/>
      <field name='hasForwardsCompat' type='int' info=' whether forwards-compatible mode was used
in a parsing episode'/>
      <field name='maxNodeInfos' type='int' info=' TEMP TODO: just for the interest'/>
      <field name='maxLREs' type='int' info='* In order to keep the old behaviour, applying strict rules of
* the spec can be turned off. This has effect only on special
* mechanisms like whitespace-stripping in the stylesheet.
*'/>
      <field name='strict' type='int' info=''/>
      <field name='psData' type='xsltPrincipalStylesheetDataPtr' info=''/>
      <field name='xpathCtxt' type='xmlXPathContextPtr' info=''/>
      <field name='unknownItem' type='xsltStyleItemUknownPtr' info=''/>
      <field name='hasNsAliases' type='int' info=' Indicator if there was an xsl:namespace-alias.'/>
      <field name='nsAliases' type='xsltNsAliasPtr' info=''/>
      <field name='ivars' type='xsltVarInfoPtr' info=' Storage of local in-scope variables/params.'/>
      <field name='ivar' type='xsltVarInfoPtr' info=' topmost local variable/param.'/>
    </struct>
    <typedef name='xsltCompilerCtxtPtr' file='xsltInternals' type='xsltCompilerCtxt *'/>
    <struct name='xsltCompilerNodeInfo' file='xsltInternals' type='struct _xsltCompilerNodeInfo'>
      <field name='next' type='xsltCompilerNodeInfoPtr' info=''/>
      <field name='prev' type='xsltCompilerNodeInfoPtr' info=''/>
      <field name='node' type='xmlNodePtr' info=''/>
      <field name='depth' type='int' info=''/>
      <field name='templ' type='xsltTemplatePtr' info=' The owning template'/>
      <field name='category' type='int' info=' XSLT element, LR-element or
extension element'/>
      <field name='type' type='xsltStyleType' info=''/>
      <field name='item' type='xsltElemPreCompPtr' info=' The compiled information The current in-scope namespaces'/>
      <field name='inScopeNs' type='xsltNsListContainerPtr' info=' The current excluded result namespaces'/>
      <field name='exclResultNs' type='xsltPointerListPtr' info=' The current extension instruction namespaces'/>
      <field name='extElemNs' type='xsltPointerListPtr' info=' The current info for literal result elements.'/>
      <field name='litResElemInfo' type='xsltStyleItemLRElementInfoPtr' info='* Set to 1 if in-scope namespaces changed,
*  or excluded result namespaces changed,
*  or extension element namespaces changed.
* This will trigger creation of new infos
*  for literal result elements.
*'/>
      <field name='nsChanged' type='int' info=''/>
      <field name='preserveWhitespace' type='int' info=''/>
      <field name='stripWhitespace' type='int' info=''/>
      <field name='isRoot' type='int' info=' whether this is the stylesheet&apos;s root node'/>
      <field name='forwardsCompat' type='int' info=' whether forwards-compatible mode is enabled whether the content of an extension element was processed'/>
      <field name='extContentHandled' type='int' info=' the type of the current child'/>
      <field name='curChildType' type='xsltStyleType' info=''/>
    </struct>
    <typedef name='xsltCompilerNodeInfoPtr' file='xsltInternals' type='xsltCompilerNodeInfo *'/>
    <typedef name='xsltDebugStatusCodes' file='xsltutils' type='enum'/>
    <typedef name='xsltDebugTraceCodes' file='xsltutils' type='enum'/>
    <struct name='xsltDecimalFormat' file='xsltInternals' type='struct _xsltDecimalFormat'>
      <field name='next' type='struct _xsltDecimalFormat *' info=' chained list'/>
      <field name='name' type='xmlChar *' info=' Used for interpretation of pattern'/>
      <field name='digit' type='xmlChar *' info=''/>
      <field name='patternSeparator' type='xmlChar *' info=' May appear in result'/>
      <field name='minusSign' type='xmlChar *' info=''/>
      <field name='infinity' type='xmlChar *' info=''/>
      <field name='noNumber' type='xmlChar *' info=' Not-a-number Used for interpretation of pattern and may appear in result'/>
      <field name='decimalPoint' type='xmlChar *' info=''/>
      <field name='grouping' type='xmlChar *' info=''/>
      <field name='percent' type='xmlChar *' info=''/>
      <field name='permille' type='xmlChar *' info=''/>
      <field name='zeroDigit' type='xmlChar *' info=''/>
    </struct>
    <typedef name='xsltDecimalFormatPtr' file='xsltInternals' type='xsltDecimalFormat *'/>
    <struct name='xsltDocument' file='xsltInternals' type='struct _xsltDocument'>
      <field name='next' type='struct _xsltDocument *' info=' documents are kept in a chained list'/>
      <field name='main' type='int' info=' is this the main document'/>
      <field name='doc' type='xmlDocPtr' info=' the parsed document'/>
      <field name='keys' type='void *' info=' key tables storage'/>
      <field name='includes' type='struct _xsltDocument *' info=' subsidiary includes'/>
      <field name='preproc' type='int' info=' pre-processing already done'/>
      <field name='nbKeysComputed' type='int' info=''/>
    </struct>
    <typedef name='xsltDocumentPtr' file='xsltInternals' type='xsltDocument *'/>
    <struct name='xsltEffectiveNs' file='xsltInternals' type='struct _xsltEffectiveNs'>
      <field name='nextInStore' type='xsltEffectiveNsPtr' info=' storage next'/>
      <field name='next' type='xsltEffectiveNsPtr' info=' next item in the list'/>
      <field name='prefix' type='const xmlChar *' info=''/>
      <field name='nsName' type='const xmlChar *' info='* Indicates if eclared on the literal result element; dunno if really
* needed.
*'/>
      <field name='holdByElem' type='int' info=''/>
    </struct>
    <typedef name='xsltEffectiveNsPtr' file='xsltInternals' type='xsltEffectiveNs *'/>
    <struct name='xsltElemPreComp' file='xsltInternals' type='struct _xsltElemPreComp'>
      <field name='next' type='xsltElemPreCompPtr' info=' next item in the global chained
list hold by xsltStylesheet.'/>
      <field name='type' type='xsltStyleType' info=' type of the element'/>
      <field name='func' type='xsltTransformFunction' info=' handling function'/>
      <field name='inst' type='xmlNodePtr' info=' the node in the stylesheet&apos;s tree
corresponding to this item end of common part'/>
      <field name='free' type='xsltElemPreCompDeallocator' info=' the deallocator'/>
    </struct>
    <typedef name='xsltElemPreCompPtr' file='xsltInternals' type='xsltElemPreComp *'/>
    <typedef name='xsltErrorSeverityType' file='xsltInternals' type='enum'/>
    <struct name='xsltFormatNumberInfo' file='numbersInternals' type='struct _xsltFormatNumberInfo'>
      <field name='integer_hash' type='int' info=' Number of &apos;#&apos; in integer part'/>
      <field name='integer_digits' type='int' info=' Number of &apos;0&apos; in integer part'/>
      <field name='frac_digits' type='int' info=' Number of &apos;0&apos; in fractional part'/>
      <field name='frac_hash' type='int' info=' Number of &apos;#&apos; in fractional part'/>
      <field name='group' type='int' info=' Number of chars per display &apos;group&apos;'/>
      <field name='multiplier' type='int' info=' Scaling for percent or permille'/>
      <field name='add_decimal' type='char' info=' Flag for whether decimal point appears in pattern'/>
      <field name='is_multiplier_set' type='char' info=' Flag to catch multiple occurences of percent/permille'/>
      <field name='is_negative_pattern' type='char' info=' Flag for processing -ve prefix/suffix'/>
    </struct>
    <typedef name='xsltFormatNumberInfoPtr' file='numbersInternals' type='xsltFormatNumberInfo *'/>
    <struct name='xsltKeyDef' file='xsltInternals' type='struct _xsltKeyDef'>
      <field name='next' type='struct _xsltKeyDef *' info=''/>
      <field name='inst' type='xmlNodePtr' info=''/>
      <field name='name' type='xmlChar *' info=''/>
      <field name='nameURI' type='xmlChar *' info=''/>
      <field name='match' type='xmlChar *' info=''/>
      <field name='use' type='xmlChar *' info=''/>
      <field name='comp' type='xmlXPathCompExprPtr' info=''/>
      <field name='usecomp' type='xmlXPathCompExprPtr' info=''/>
      <field name='nsList' type='xmlNsPtr *' info=' the namespaces in scope'/>
      <field name='nsNr' type='int' info=' the number of namespaces in scope'/>
    </struct>
    <typedef name='xsltKeyDefPtr' file='xsltInternals' type='xsltKeyDef *'/>
    <struct name='xsltKeyTable' file='xsltInternals' type='struct _xsltKeyTable'>
      <field name='next' type='struct _xsltKeyTable *' info=''/>
      <field name='name' type='xmlChar *' info=''/>
      <field name='nameURI' type='xmlChar *' info=''/>
      <field name='keys' type='xmlHashTablePtr' info=''/>
    </struct>
    <typedef name='xsltKeyTablePtr' file='xsltInternals' type='xsltKeyTable *'/>
    <typedef name='xsltLoadType' file='documents' type='enum'/>
    <struct name='xsltNsAlias' file='xsltInternals' type='struct _xsltNsAlias'>
      <field name='next' type='xsltNsAliasPtr' info=' next in the list'/>
      <field name='literalNs' type='xmlNsPtr' info=''/>
      <field name='targetNs' type='xmlNsPtr' info=''/>
      <field name='docOfTargetNs' type='xmlDocPtr' info=''/>
    </struct>
    <typedef name='xsltNsAliasPtr' file='xsltInternals' type='xsltNsAlias *'/>
    <struct name='xsltNsList' file='xsltInternals' type='struct _xsltNsList'>
      <field name='next' type='xsltNsListPtr' info=' next in the list'/>
      <field name='ns' type='xmlNsPtr' info=''/>
    </struct>
    <struct name='xsltNsListContainer' file='xsltInternals' type='struct _xsltNsListContainer'>
      <field name='list' type='xmlNsPtr *' info=''/>
      <field name='totalNumber' type='int' info=''/>
      <field name='xpathNumber' type='int' info=''/>
    </struct>
    <typedef name='xsltNsListContainerPtr' file='xsltInternals' type='xsltNsListContainer *'/>
    <typedef name='xsltNsListPtr' file='xsltInternals' type='xsltNsList *'/>
    <struct name='xsltNsMap' file='xsltInternals' type='struct _xsltNsMap'>
      <field name='next' type='xsltNsMapPtr' info=' next in the list'/>
      <field name='doc' type='xmlDocPtr' info=''/>
      <field name='elem' type='xmlNodePtr' info=' the element holding the ns-decl'/>
      <field name='ns' type='xmlNsPtr' info=' the xmlNs structure holding the XML namespace name'/>
      <field name='origNsName' type='const xmlChar *' info=' the original XML namespace name'/>
      <field name='newNsName' type='const xmlChar *' info=' the mapped XML namespace name'/>
    </struct>
    <typedef name='xsltNsMapPtr' file='xsltInternals' type='xsltNsMap *'/>
    <struct name='xsltNumberData' file='numbersInternals' type='struct _xsltNumberData'>
      <field name='level' type='const xmlChar *' info=''/>
      <field name='count' type='const xmlChar *' info=''/>
      <field name='from' type='const xmlChar *' info=''/>
      <field name='value' type='const xmlChar *' info=''/>
      <field name='format' type='const xmlChar *' info=''/>
      <field name='has_format' type='int' info=''/>
      <field name='digitsPerGroup' type='int' info=''/>
      <field name='groupingCharacter' type='int' info=''/>
      <field name='groupingCharacterLen' type='int' info=''/>
      <field name='doc' type='xmlDocPtr' info=''/>
      <field name='node' type='xmlNodePtr' info='* accelerators
*'/>
    </struct>
    <typedef name='xsltNumberDataPtr' file='numbersInternals' type='xsltNumberData *'/>
    <typedef name='xsltOutputType' file='xsltInternals' type='enum'/>
    <struct name='xsltPointerList' file='xsltInternals' type='struct _xsltPointerList'>
      <field name='items' type='void **' info=''/>
      <field name='number' type='int' info=''/>
      <field name='size' type='int' info=''/>
    </struct>
    <typedef name='xsltPointerListPtr' file='xsltInternals' type='xsltPointerList *'/>
    <struct name='xsltPrincipalStylesheetData' file='xsltInternals' type='struct _xsltPrincipalStylesheetData'>
      <field name='namespaceDict' type='xmlDictPtr' info='* Global list of in-scope namespaces.
*'/>
      <field name='inScopeNamespaces' type='xsltPointerListPtr' info='* Global list of information for [xsl:]excluded-result-prefixes.
*'/>
      <field name='exclResultNamespaces' type='xsltPointerListPtr' info='* Global list of information for [xsl:]extension-element-prefixes.
*'/>
      <field name='extElemNamespaces' type='xsltPointerListPtr' info=''/>
      <field name='effectiveNs' type='xsltEffectiveNsPtr' info='* Namespace name map to get rid of string comparison of namespace names.
*'/>
      <field name='nsMap' type='xsltNsMapPtr' info=''/>
    </struct>
    <typedef name='xsltPrincipalStylesheetDataPtr' file='xsltInternals' type='xsltPrincipalStylesheetData *'/>
    <struct name='xsltRuntimeExtra' file='xsltInternals' type='struct _xsltRuntimeExtra'>
      <field name='info' type='void *' info=' pointer to the extra data'/>
      <field name='deallocate' type='xmlFreeFunc' info=' pointer to the deallocation routine'/>
    </struct>
    <typedef name='xsltRuntimeExtraPtr' file='xsltInternals' type='xsltRuntimeExtra *'/>
    <typedef name='xsltSecurityOption' file='security' type='enum'/>
    <struct name='xsltSecurityPrefs' file='security' type='struct _xsltSecurityPrefs'/>
    <typedef name='xsltSecurityPrefsPtr' file='security' type='xsltSecurityPrefs *'/>
    <struct name='xsltStackElem' file='xsltInternals' type='struct _xsltStackElem'>
      <field name='next' type='struct _xsltStackElem *' info=' chained list'/>
      <field name='comp' type='xsltStylePreCompPtr' info=' the compiled form'/>
      <field name='computed' type='int' info=' was the evaluation done'/>
      <field name='name' type='const xmlChar *' info=' the local part of the name QName'/>
      <field name='nameURI' type='const xmlChar *' info=' the URI part of the name QName'/>
      <field name='select' type='const xmlChar *' info=' the eval string'/>
      <field name='tree' type='xmlNodePtr' info=' the sequence constructor if no eval
string or the location'/>
      <field name='value' type='xmlXPathObjectPtr' info=' The value if computed'/>
      <field name='fragment' type='xmlDocPtr' info=' The Result Tree Fragments (needed for XSLT 1.0)
which are bound to the variable&apos;s lifetime.'/>
      <field name='level' type='int' info=' the depth in the tree;
-1 if persistent (e.g. a given xsl:with-param)'/>
      <field name='context' type='xsltTransformContextPtr' info=' The transformation context; needed to cache
the variables'/>
      <field name='flags' type='int' info=''/>
    </struct>
    <typedef name='xsltStackElemPtr' file='xsltInternals' type='xsltStackElem *'/>
    <struct name='xsltStyleBasicEmptyItem' file='xsltInternals' type='struct _xsltStyleBasicEmptyItem'>
    </struct>
    <typedef name='xsltStyleBasicEmptyItemPtr' file='xsltInternals' type='xsltStyleBasicEmptyItem *'/>
    <struct name='xsltStyleBasicExpressionItem' file='xsltInternals' type='struct _xsltStyleBasicExpressionItem'>
      <field name='select' type='const xmlChar *' info=' TODO: Change this to &quot;expression&quot;.'/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' TODO: Change this to compExpr.'/>
    </struct>
    <typedef name='xsltStyleBasicExpressionItemPtr' file='xsltInternals' type='xsltStyleBasicExpressionItem *'/>
    <struct name='xsltStyleBasicItemVariable' file='xsltInternals' type='struct _xsltStyleBasicItemVariable'>
      <field name='select' type='const xmlChar *' info=''/>
      <field name='comp' type='xmlXPathCompExprPtr' info=''/>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='has_name' type='int' info=''/>
      <field name='ns' type='const xmlChar *' info=''/>
      <field name='has_ns' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleBasicItemVariablePtr' file='xsltInternals' type='xsltStyleBasicItemVariable *'/>
    <typedef name='xsltStyleItemApplyImports' file='xsltInternals' type='xsltStyleBasicEmptyItem'/>
    <typedef name='xsltStyleItemApplyImportsPtr' file='xsltInternals' type='xsltStyleItemApplyImports *'/>
    <struct name='xsltStyleItemApplyTemplates' file='xsltInternals' type='struct _xsltStyleItemApplyTemplates'>
      <field name='mode' type='const xmlChar *' info=' apply-templates'/>
      <field name='modeURI' type='const xmlChar *' info=' apply-templates'/>
      <field name='select' type='const xmlChar *' info=' sort, copy-of, value-of, apply-templates'/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' a precompiled XPath expression TODO: with-params'/>
    </struct>
    <typedef name='xsltStyleItemApplyTemplatesPtr' file='xsltInternals' type='xsltStyleItemApplyTemplates *'/>
    <struct name='xsltStyleItemAttribute' file='xsltInternals' type='struct _xsltStyleItemAttribute'>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='has_name' type='int' info=''/>
      <field name='ns' type='const xmlChar *' info=''/>
      <field name='nsPrefix' type='const xmlChar *' info=''/>
      <field name='has_ns' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemAttributePtr' file='xsltInternals' type='xsltStyleItemAttribute *'/>
    <struct name='xsltStyleItemCallTemplate' file='xsltInternals' type='struct _xsltStyleItemCallTemplate'>
      <field name='templ' type='xsltTemplatePtr' info=' call-template'/>
      <field name='name' type='const xmlChar *' info=' element, attribute, pi'/>
      <field name='has_name' type='int' info=' element, attribute, pi'/>
      <field name='ns' type='const xmlChar *' info=' element'/>
      <field name='has_ns' type='int' info=' element TODO: with-params'/>
    </struct>
    <typedef name='xsltStyleItemCallTemplatePtr' file='xsltInternals' type='xsltStyleItemCallTemplate *'/>
    <typedef name='xsltStyleItemChoose' file='xsltInternals' type='xsltStyleBasicEmptyItem'/>
    <typedef name='xsltStyleItemChoosePtr' file='xsltInternals' type='xsltStyleItemChoose *'/>
    <typedef name='xsltStyleItemComment' file='xsltInternals' type='xsltStyleBasicEmptyItem'/>
    <typedef name='xsltStyleItemCommentPtr' file='xsltInternals' type='xsltStyleItemComment *'/>
    <struct name='xsltStyleItemCopy' file='xsltInternals' type='struct _xsltStyleItemCopy'>
      <field name='use' type='const xmlChar *' info=' copy, element'/>
      <field name='has_use' type='int' info=' copy, element'/>
    </struct>
    <typedef name='xsltStyleItemCopyOf' file='xsltInternals' type='xsltStyleBasicExpressionItem'/>
    <typedef name='xsltStyleItemCopyOfPtr' file='xsltInternals' type='xsltStyleItemCopyOf *'/>
    <typedef name='xsltStyleItemCopyPtr' file='xsltInternals' type='xsltStyleItemCopy *'/>
    <struct name='xsltStyleItemDocument' file='xsltInternals' type='struct _xsltStyleItemDocument'>
      <field name='ver11' type='int' info=' assigned: in xsltDocumentComp;
read: nowhere;
TODO: Check if we need.'/>
      <field name='filename' type='const xmlChar *' info=' document URL'/>
      <field name='has_filename' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemDocumentPtr' file='xsltInternals' type='xsltStyleItemDocument *'/>
    <struct name='xsltStyleItemElement' file='xsltInternals' type='struct _xsltStyleItemElement'>
      <field name='use' type='const xmlChar *' info=''/>
      <field name='has_use' type='int' info=''/>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='has_name' type='int' info=''/>
      <field name='ns' type='const xmlChar *' info=''/>
      <field name='nsPrefix' type='const xmlChar *' info=''/>
      <field name='has_ns' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemElementPtr' file='xsltInternals' type='xsltStyleItemElement *'/>
    <struct name='xsltStyleItemExtElement' file='xsltInternals' type='struct _xsltStyleItemExtElement'>
      <field name='item' type='xsltElemPreCompPtr' info=''/>
    </struct>
    <typedef name='xsltStyleItemExtElementPtr' file='xsltInternals' type='xsltStyleItemExtElement *'/>
    <typedef name='xsltStyleItemFallback' file='xsltInternals' type='xsltStyleBasicEmptyItem'/>
    <typedef name='xsltStyleItemFallbackPtr' file='xsltInternals' type='xsltStyleItemFallback *'/>
    <typedef name='xsltStyleItemForEach' file='xsltInternals' type='xsltStyleBasicExpressionItem'/>
    <typedef name='xsltStyleItemForEachPtr' file='xsltInternals' type='xsltStyleItemForEach *'/>
    <struct name='xsltStyleItemIf' file='xsltInternals' type='struct _xsltStyleItemIf'>
      <field name='test' type='const xmlChar *' info=' if'/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' a precompiled XPath expression'/>
    </struct>
    <typedef name='xsltStyleItemIfPtr' file='xsltInternals' type='xsltStyleItemIf *'/>
    <struct name='xsltStyleItemInclude' file='xsltInternals' type='struct _xsltStyleItemInclude'>
      <field name='include' type='xsltDocumentPtr' info=''/>
    </struct>
    <typedef name='xsltStyleItemIncludePtr' file='xsltInternals' type='xsltStyleItemInclude *'/>
    <struct name='xsltStyleItemLRElementInfo' file='xsltInternals' type='struct _xsltStyleItemLRElementInfo'>
      <field name='effectiveNs' type='xsltEffectiveNsPtr' info=''/>
    </struct>
    <typedef name='xsltStyleItemLRElementInfoPtr' file='xsltInternals' type='xsltStyleItemLRElementInfo *'/>
    <struct name='xsltStyleItemMessage' file='xsltInternals' type='struct _xsltStyleItemMessage'>
      <field name='terminate' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemMessagePtr' file='xsltInternals' type='xsltStyleItemMessage *'/>
    <struct name='xsltStyleItemNumber' file='xsltInternals' type='struct _xsltStyleItemNumber'>
      <field name='numdata' type='xsltNumberData' info=' number'/>
    </struct>
    <typedef name='xsltStyleItemNumberPtr' file='xsltInternals' type='xsltStyleItemNumber *'/>
    <struct name='xsltStyleItemOtherwise' file='xsltInternals' type='struct _xsltStyleItemOtherwise'>
    </struct>
    <typedef name='xsltStyleItemOtherwisePtr' file='xsltInternals' type='xsltStyleItemOtherwise *'/>
    <struct name='xsltStyleItemPI' file='xsltInternals' type='struct _xsltStyleItemPI'>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='has_name' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemPIPtr' file='xsltInternals' type='xsltStyleItemPI *'/>
    <struct name='xsltStyleItemParam' file='xsltInternals' type='struct _xsltStyleItemParam'>
      <field name='select' type='const xmlChar *' info=''/>
      <field name='comp' type='xmlXPathCompExprPtr' info=''/>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='has_name' type='int' info=''/>
      <field name='ns' type='const xmlChar *' info=''/>
      <field name='has_ns' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemParamPtr' file='xsltInternals' type='xsltStyleItemParam *'/>
    <struct name='xsltStyleItemSort' file='xsltInternals' type='struct _xsltStyleItemSort'>
      <field name='stype' type='const xmlChar *' info=' sort'/>
      <field name='has_stype' type='int' info=' sort'/>
      <field name='number' type='int' info=' sort'/>
      <field name='order' type='const xmlChar *' info=' sort'/>
      <field name='has_order' type='int' info=' sort'/>
      <field name='descending' type='int' info=' sort'/>
      <field name='lang' type='const xmlChar *' info=' sort'/>
      <field name='has_lang' type='int' info=' sort'/>
      <field name='case_order' type='const xmlChar *' info=' sort'/>
      <field name='lower_first' type='int' info=' sort'/>
      <field name='use' type='const xmlChar *' info=''/>
      <field name='has_use' type='int' info=''/>
      <field name='select' type='const xmlChar *' info=' sort, copy-of, value-of, apply-templates'/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' a precompiled XPath expression'/>
    </struct>
    <typedef name='xsltStyleItemSortPtr' file='xsltInternals' type='xsltStyleItemSort *'/>
    <struct name='xsltStyleItemText' file='xsltInternals' type='struct _xsltStyleItemText'>
      <field name='noescape' type='int' info=' text'/>
    </struct>
    <typedef name='xsltStyleItemTextPtr' file='xsltInternals' type='xsltStyleItemText *'/>
    <struct name='xsltStyleItemUknown' file='xsltInternals' type='struct _xsltStyleItemUknown'>
    </struct>
    <typedef name='xsltStyleItemUknownPtr' file='xsltInternals' type='xsltStyleItemUknown *'/>
    <struct name='xsltStyleItemValueOf' file='xsltInternals' type='struct _xsltStyleItemValueOf'>
      <field name='select' type='const xmlChar *' info=''/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' a precompiled XPath expression'/>
      <field name='noescape' type='int' info=''/>
    </struct>
    <typedef name='xsltStyleItemValueOfPtr' file='xsltInternals' type='xsltStyleItemValueOf *'/>
    <typedef name='xsltStyleItemVariable' file='xsltInternals' type='xsltStyleBasicItemVariable'/>
    <typedef name='xsltStyleItemVariablePtr' file='xsltInternals' type='xsltStyleItemVariable *'/>
    <struct name='xsltStyleItemWhen' file='xsltInternals' type='struct _xsltStyleItemWhen'>
      <field name='test' type='const xmlChar *' info=''/>
      <field name='comp' type='xmlXPathCompExprPtr' info=''/>
    </struct>
    <typedef name='xsltStyleItemWhenPtr' file='xsltInternals' type='xsltStyleItemWhen *'/>
    <typedef name='xsltStyleItemWithParam' file='xsltInternals' type='xsltStyleBasicItemVariable'/>
    <typedef name='xsltStyleItemWithParamPtr' file='xsltInternals' type='xsltStyleItemWithParam *'/>
    <struct name='xsltStylePreComp' file='xsltInternals' type='struct _xsltStylePreComp'>
      <field name='next' type='xsltElemPreCompPtr' info=' chained list'/>
      <field name='type' type='xsltStyleType' info=' type of the element'/>
      <field name='func' type='xsltTransformFunction' info=' handling function'/>
      <field name='inst' type='xmlNodePtr' info='* Pre computed values.
*'/>
      <field name='stype' type='const xmlChar *' info=' sort'/>
      <field name='has_stype' type='int' info=' sort'/>
      <field name='number' type='int' info=' sort'/>
      <field name='order' type='const xmlChar *' info=' sort'/>
      <field name='has_order' type='int' info=' sort'/>
      <field name='descending' type='int' info=' sort'/>
      <field name='lang' type='const xmlChar *' info=' sort'/>
      <field name='has_lang' type='int' info=' sort'/>
      <field name='case_order' type='const xmlChar *' info=' sort'/>
      <field name='lower_first' type='int' info=' sort'/>
      <field name='use' type='const xmlChar *' info=' copy, element'/>
      <field name='has_use' type='int' info=' copy, element'/>
      <field name='noescape' type='int' info=' text'/>
      <field name='name' type='const xmlChar *' info=' element, attribute, pi'/>
      <field name='has_name' type='int' info=' element, attribute, pi'/>
      <field name='ns' type='const xmlChar *' info=' element'/>
      <field name='has_ns' type='int' info=' element'/>
      <field name='mode' type='const xmlChar *' info=' apply-templates'/>
      <field name='modeURI' type='const xmlChar *' info=' apply-templates'/>
      <field name='test' type='const xmlChar *' info=' if'/>
      <field name='templ' type='xsltTemplatePtr' info=' call-template'/>
      <field name='select' type='const xmlChar *' info=' sort, copy-of, value-of, apply-templates'/>
      <field name='ver11' type='int' info=' document'/>
      <field name='filename' type='const xmlChar *' info=' document URL'/>
      <field name='has_filename' type='int' info=' document'/>
      <field name='numdata' type='xsltNumberData' info=' number'/>
      <field name='comp' type='xmlXPathCompExprPtr' info=' a precompiled XPath expression'/>
      <field name='nsList' type='xmlNsPtr *' info=' the namespaces in scope'/>
      <field name='nsNr' type='int' info=' the number of namespaces in scope'/>
    </struct>
    <typedef name='xsltStylePreCompPtr' file='xsltInternals' type='xsltStylePreComp *'/>
    <typedef name='xsltStyleType' file='xsltInternals' type='enum'/>
    <struct name='xsltStylesheet' file='xsltInternals' type='struct _xsltStylesheet'>
      <field name='parent' type='struct _xsltStylesheet *' info=''/>
      <field name='next' type='struct _xsltStylesheet *' info=''/>
      <field name='imports' type='struct _xsltStylesheet *' info=''/>
      <field name='docList' type='xsltDocumentPtr' info='* General data on the style sheet document.
*'/>
      <field name='doc' type='xmlDocPtr' info=' the parsed XML stylesheet'/>
      <field name='stripSpaces' type='xmlHashTablePtr' info=' the hash table of the strip-space and
preserve space elements'/>
      <field name='stripAll' type='int' info=' strip-space * (1) preserve-space * (-1)'/>
      <field name='cdataSection' type='xmlHashTablePtr' info='* Global variable or parameters.
*'/>
      <field name='variables' type='xsltStackElemPtr' info='* Template descriptions.
*'/>
      <field name='templates' type='xsltTemplatePtr' info=' the ordered list of templates'/>
      <field name='templatesHash' type='void *' info=' hash table or wherever compiled templates
informations are stored'/>
      <field name='rootMatch' type='void *' info=' template based on /'/>
      <field name='keyMatch' type='void *' info=' template based on key()'/>
      <field name='elemMatch' type='void *' info=' template based on *'/>
      <field name='attrMatch' type='void *' info=' template based on @*'/>
      <field name='parentMatch' type='void *' info=' template based on ..'/>
      <field name='textMatch' type='void *' info=' template based on text()'/>
      <field name='piMatch' type='void *' info=' template based on processing-instruction()'/>
      <field name='commentMatch' type='void *' info='* Namespace aliases.
* NOTE: Not used in the refactored code.
*'/>
      <field name='nsAliases' type='xmlHashTablePtr' info='* Attribute sets.
*'/>
      <field name='attributeSets' type='xmlHashTablePtr' info='* Namespaces.
* TODO: Eliminate this.
*'/>
      <field name='nsHash' type='xmlHashTablePtr' info=' the set of namespaces in use:
ATTENTION: This is used for
execution of XPath expressions; unfortunately
it restricts the stylesheet to have distinct
prefixes.
TODO: We need to get rid of this.
*'/>
      <field name='nsDefs' type='void *' info='* Key definitions.
*'/>
      <field name='keys' type='void *' info='* Output related stuff.
*'/>
      <field name='method' type='xmlChar *' info=' the output method'/>
      <field name='methodURI' type='xmlChar *' info=' associated namespace if any'/>
      <field name='version' type='xmlChar *' info=' version string'/>
      <field name='encoding' type='xmlChar *' info=' encoding string'/>
      <field name='omitXmlDeclaration' type='int' info='* Number formatting.
*'/>
      <field name='decimalFormat' type='xsltDecimalFormatPtr' info=''/>
      <field name='standalone' type='int' info=' standalone = &quot;yes&quot; | &quot;no&quot;'/>
      <field name='doctypePublic' type='xmlChar *' info=' doctype-public string'/>
      <field name='doctypeSystem' type='xmlChar *' info=' doctype-system string'/>
      <field name='indent' type='int' info=' should output being indented'/>
      <field name='mediaType' type='xmlChar *' info='* Precomputed blocks.
*'/>
      <field name='preComps' type='xsltElemPreCompPtr' info=' list of precomputed blocks'/>
      <field name='warnings' type='int' info=' number of warnings found at compilation'/>
      <field name='errors' type='int' info=' number of errors found at compilation'/>
      <field name='exclPrefix' type='xmlChar *' info=' last excluded prefixes'/>
      <field name='exclPrefixTab' type='xmlChar **' info=' array of excluded prefixes'/>
      <field name='exclPrefixNr' type='int' info=' number of excluded prefixes in scope'/>
      <field name='exclPrefixMax' type='int' info=' size of the array'/>
      <field name='_private' type='void *' info='* Extensions.
*'/>
      <field name='extInfos' type='xmlHashTablePtr' info=' the extension data'/>
      <field name='extrasNr' type='int' info='* For keeping track of nested includes
*'/>
      <field name='includes' type='xsltDocumentPtr' info='* dictionary: shared between stylesheet, context and documents.
*'/>
      <field name='dict' type='xmlDictPtr' info='* precompiled attribute value templates.
*'/>
      <field name='attVTs' type='void *' info='* if namespace-alias has an alias for the default stylesheet prefix
* NOTE: Not used in the refactored code.
*'/>
      <field name='defaultAlias' type='const xmlChar *' info='* bypass pre-processing (already done) (used in imports)
*'/>
      <field name='nopreproc' type='int' info='* all document text strings were internalized
*'/>
      <field name='internalized' type='int' info='* Literal Result Element as Stylesheet c.f. section 2.3
*'/>
      <field name='literal_result' type='int' info='* The principal stylesheet
*'/>
      <field name='principal' type='xsltStylesheetPtr' info='* Compilation context used during compile-time.
*'/>
      <field name='compCtxt' type='xsltCompilerCtxtPtr' info=' TODO: Change this to (void *).'/>
      <field name='principalData' type='xsltPrincipalStylesheetDataPtr' info=''/>
    </struct>
    <typedef name='xsltStylesheetPtr' file='xsltInternals' type='xsltStylesheet *'/>
    <struct name='xsltTemplate' file='xsltInternals' type='struct _xsltTemplate'>
      <field name='next' type='struct _xsltTemplate *' info=' chained list sorted by priority'/>
      <field name='style' type='struct _xsltStylesheet *' info=' the containing stylesheet'/>
      <field name='match' type='xmlChar *' info=' the matching string'/>
      <field name='priority' type='float' info=' as given from the stylesheet, not computed'/>
      <field name='name' type='const xmlChar *' info=' the local part of the name QName'/>
      <field name='nameURI' type='const xmlChar *' info=' the URI part of the name QName'/>
      <field name='mode' type='const xmlChar *' info=' the local part of the mode QName'/>
      <field name='modeURI' type='const xmlChar *' info=' the URI part of the mode QName'/>
      <field name='content' type='xmlNodePtr' info=' the template replacement value'/>
      <field name='elem' type='xmlNodePtr' info='* TODO: @inheritedNsNr and @inheritedNs won&apos;t be used in the
*  refactored code.
*'/>
      <field name='inheritedNsNr' type='int' info=' number of inherited namespaces'/>
      <field name='inheritedNs' type='xmlNsPtr *' info=' inherited non-excluded namespaces Profiling informations'/>
      <field name='nbCalls' type='int' info=' the number of time the template was called'/>
      <field name='time' type='unsigned long' info=' the time spent in this template'/>
      <field name='params' type='void *' info=' xsl:param instructions'/>
    </struct>
    <typedef name='xsltTemplatePtr' file='xsltInternals' type='xsltTemplate *'/>
    <struct name='xsltTransformCache' file='xsltInternals' type='struct _xsltTransformCache'>
      <field name='RVT' type='xmlDocPtr' info=''/>
      <field name='nbRVT' type='int' info=''/>
      <field name='stackItems' type='xsltStackElemPtr' info=''/>
      <field name='nbStackItems' type='int' info=''/>
      <field name='dbgCachedRVTs' type='int' info=''/>
      <field name='dbgReusedRVTs' type='int' info=''/>
      <field name='dbgCachedVars' type='int' info=''/>
      <field name='dbgReusedVars' type='int' info=''/>
    </struct>
    <typedef name='xsltTransformCachePtr' file='xsltInternals' type='xsltTransformCache *'/>
    <struct name='xsltTransformContext' file='xsltInternals' type='struct _xsltTransformContext'>
      <field name='style' type='xsltStylesheetPtr' info=' the stylesheet used'/>
      <field name='type' type='xsltOutputType' info=' the type of output'/>
      <field name='templ' type='xsltTemplatePtr' info=' the current template'/>
      <field name='templNr' type='int' info=' Nb of templates in the stack'/>
      <field name='templMax' type='int' info=' Size of the templtes stack'/>
      <field name='templTab' type='xsltTemplatePtr *' info=' the template stack'/>
      <field name='vars' type='xsltStackElemPtr' info=' the current variable list'/>
      <field name='varsNr' type='int' info=' Nb of variable list in the stack'/>
      <field name='varsMax' type='int' info=' Size of the variable list stack'/>
      <field name='varsTab' type='xsltStackElemPtr *' info=' the variable list stack'/>
      <field name='varsBase' type='int' info='* Extensions
*'/>
      <field name='extFunctions' type='xmlHashTablePtr' info=' the extension functions'/>
      <field name='extElements' type='xmlHashTablePtr' info=' the extension elements'/>
      <field name='extInfos' type='xmlHashTablePtr' info=' the extension data'/>
      <field name='mode' type='const xmlChar *' info=' the current mode'/>
      <field name='modeURI' type='const xmlChar *' info=' the current mode URI'/>
      <field name='docList' type='xsltDocumentPtr' info=' the document list'/>
      <field name='document' type='xsltDocumentPtr' info=' the current source document; can be NULL if an RTF'/>
      <field name='node' type='xmlNodePtr' info=' the current node being processed'/>
      <field name='nodeList' type='xmlNodeSetPtr' info=' the current node list xmlNodePtr current;			the node'/>
      <field name='output' type='xmlDocPtr' info=' the resulting document'/>
      <field name='insert' type='xmlNodePtr' info=' the insertion node'/>
      <field name='xpathCtxt' type='xmlXPathContextPtr' info=' the XPath context'/>
      <field name='state' type='xsltTransformState' info='* Global variables
*'/>
      <field name='globalVars' type='xmlHashTablePtr' info=' the global variables and params'/>
      <field name='inst' type='xmlNodePtr' info=' the instruction in the stylesheet'/>
      <field name='xinclude' type='int' info=' should XInclude be processed'/>
      <field name='outputFile' type='const char *' info=' the output URI if known'/>
      <field name='profile' type='int' info=' is this run profiled'/>
      <field name='prof' type='long' info=' the current profiled value'/>
      <field name='profNr' type='int' info=' Nb of templates in the stack'/>
      <field name='profMax' type='int' info=' Size of the templtaes stack'/>
      <field name='profTab' type='long *' info=' the profile template stack'/>
      <field name='_private' type='void *' info=' user defined data'/>
      <field name='extrasNr' type='int' info=' the number of extras used'/>
      <field name='extrasMax' type='int' info=' the number of extras allocated'/>
      <field name='extras' type='xsltRuntimeExtraPtr' info=' extra per runtime informations'/>
      <field name='styleList' type='xsltDocumentPtr' info=' the stylesheet docs list'/>
      <field name='sec' type='void *' info=' the security preferences if any'/>
      <field name='error' type='xmlGenericErrorFunc' info=' a specific error handler'/>
      <field name='errctx' type='void *' info=' context for the error handler'/>
      <field name='sortfunc' type='xsltSortFunc' info='* handling of temporary Result Value Tree
* (XSLT 1.0 term: &quot;Result Tree Fragment&quot;)
*'/>
      <field name='tmpRVT' type='xmlDocPtr' info=' list of RVT without persistance'/>
      <field name='persistRVT' type='xmlDocPtr' info=' list of persistant RVTs'/>
      <field name='ctxtflags' type='int' info='* Speed optimization when coalescing text nodes
*'/>
      <field name='lasttext' type='const xmlChar *' info=' last text node content'/>
      <field name='lasttsize' type='unsigned int' info=' last text node size'/>
      <field name='lasttuse' type='unsigned int' info='* Per Context Debugging
*'/>
      <field name='debugStatus' type='int' info=' the context level debug status'/>
      <field name='traceCode' type='unsigned long *' info=' pointer to the variable holding the mask'/>
      <field name='parserOptions' type='int' info='* dictionary: shared between stylesheet, context and documents.
*'/>
      <field name='dict' type='xmlDictPtr' info=''/>
      <field name='tmpDoc' type='xmlDocPtr' info='* all document text strings are internalized
*'/>
      <field name='internalized' type='int' info=''/>
      <field name='nbKeys' type='int' info=''/>
      <field name='hasTemplKeyPatterns' type='int' info=''/>
      <field name='currentTemplateRule' type='xsltTemplatePtr' info=' the Current Template Rule'/>
      <field name='initialContextNode' type='xmlNodePtr' info=''/>
      <field name='initialContextDoc' type='xmlDocPtr' info=''/>
      <field name='cache' type='xsltTransformCachePtr' info=''/>
      <field name='contextVariable' type='void *' info=' the current variable item'/>
      <field name='localRVT' type='xmlDocPtr' info=' list of local tree fragments; will be freed when
the instruction which created the fragment
exits'/>
      <field name='localRVTBase' type='xmlDocPtr' info=''/>
      <field name='keyInitLevel' type='int' info=' Needed to catch recursive keys issues'/>
    </struct>
    <typedef name='xsltTransformContextPtr' file='xsltInternals' type='xsltTransformContext *'/>
    <typedef name='xsltTransformState' file='xsltInternals' type='enum'/>
    <struct name='xsltVarInfo' file='xsltInternals' type='struct _xsltVarInfo'>
      <field name='next' type='xsltVarInfoPtr' info=' next in the list'/>
      <field name='prev' type='xsltVarInfoPtr' info=''/>
      <field name='depth' type='int' info=' the depth in the tree'/>
      <field name='name' type='const xmlChar *' info=''/>
      <field name='nsName' type='const xmlChar *' info=''/>
    </struct>
    <typedef name='xsltVarInfoPtr' file='xsltInternals' type='xsltVarInfo *'/>
    <variable name='xslDebugStatus' file='xsltutils' type='int'/>
    <variable name='xsltConstNamespaceNameXSLT' file='xsltInternals' type='const xmlChar *'/>
    <variable name='xsltDocDefaultLoader' file='documents' type='xsltDocLoaderFunc'/>
    <variable name='xsltEngineVersion' file='xslt' type='const char *'/>
    <variable name='xsltExtMarker' file='preproc' type='const xmlChar *'/>
    <variable name='xsltGenericDebug' file='xsltutils' type='xmlGenericErrorFunc'/>
    <variable name='xsltGenericDebugContext' file='xsltutils' type='void *'/>
    <variable name='xsltGenericError' file='xsltutils' type='xmlGenericErrorFunc'/>
    <variable name='xsltGenericErrorContext' file='xsltutils' type='void *'/>
    <variable name='xsltLibxmlVersion' file='xslt' type='const int'/>
    <variable name='xsltLibxsltVersion' file='xslt' type='const int'/>
    <variable name='xsltMaxDepth' file='xslt' type='int'/>
    <variable name='xsltXSLTAttrMarker' file='xsltInternals' type='const xmlChar *'/>
    <function name='xslAddCall' file='xsltutils'>
      <info>Add template &quot;call&quot; to call stack</info>
      <return type='int' info=': 1 on sucess 0 otherwise an error may be printed if WITH_XSLT_DEBUG_BREAKPOINTS is defined'/>
      <arg name='templ' type='xsltTemplatePtr' info='current template being applied'/>
      <arg name='source' type='xmlNodePtr' info='the source node being processed'/>
    </function>
    <function name='xslDropCall' file='xsltutils'>
      <info>Drop the topmost item off the call stack</info>
      <return type='void'/>
    </function>
    <function name='xslHandleDebugger' file='transform'>
      <info>If either cur or node are a breakpoint, or xslDebugStatus in state where debugging must occcur at this time then transfer control to the xslDebugBreak function</info>
      <return type='void'/>
      <arg name='cur' type='xmlNodePtr' info='source node being executed'/>
      <arg name='node' type='xmlNodePtr' info='data node being processed'/>
      <arg name='templ' type='xsltTemplatePtr' info='temlate that applies to node'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the xslt transform context'/>
    </function>
    <functype name='xsltAddCallCallback' file='xsltutils'>
      <info></info>
      <return type='int' info=''/>
      <arg name='templ' type='xsltTemplatePtr' info=''/>
      <arg name='source' type='xmlNodePtr' info=''/>
    </functype>
    <function name='xsltAddKey' file='keys'>
      <info>add a key definition to a stylesheet</info>
      <return type='int' info='0 in case of success, and -1 in case of failure.'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
      <arg name='name' type='const xmlChar *' info='the key name or NULL'/>
      <arg name='nameURI' type='const xmlChar *' info='the name URI or NULL'/>
      <arg name='match' type='const xmlChar *' info='the match value'/>
      <arg name='use' type='const xmlChar *' info='the use value'/>
      <arg name='inst' type='xmlNodePtr' info='the key instruction'/>
    </function>
    <function name='xsltAddStackElemList' file='variables'>
      <info>Push an element list onto the stack.</info>
      <return type='int' info='0 in case of success, -1 in case of failure.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='xn XSLT transformation context'/>
      <arg name='elems' type='xsltStackElemPtr' info='a stack element list'/>
    </function>
    <function name='xsltAddTemplate' file='pattern'>
      <info>Register the XSLT pattern associated to @cur</info>
      <return type='int' info='-1 in case of error, 0 otherwise'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
      <arg name='cur' type='xsltTemplatePtr' info='an XSLT template'/>
      <arg name='mode' type='const xmlChar *' info='the mode name or NULL'/>
      <arg name='modeURI' type='const xmlChar *' info='the mode URI or NULL'/>
    </function>
    <function name='xsltAllocateExtra' file='xsltInternals'>
      <info>Allocate an extra runtime information slot statically while compiling the stylesheet and return its number</info>
      <return type='int' info='the number of the slot'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
    </function>
    <function name='xsltAllocateExtraCtxt' file='xsltInternals'>
      <info>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</info>
      <return type='int' info='the number of the slot'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
    </function>
    <function name='xsltApplyAttributeSet' file='attributes'>
      <info>Apply the xsl:use-attribute-sets. If @attrSets is NULL, then @inst will be used to exctract this value. If both, @attrSets and @inst, are NULL, then this will do nothing.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT stylesheet'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the attribute node &quot;xsl:use-attribute-sets&quot;'/>
      <arg name='attrSets' type='const xmlChar *' info='the list of QNames of the attribute-sets to be applied'/>
    </function>
    <function name='xsltApplyImports' file='transform'>
      <info>Process the XSLT apply-imports element.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='contextNode' type='xmlNodePtr' info='the current node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the element node of the XSLT &apos;apply-imports&apos; instruction'/>
      <arg name='comp' type='xsltStylePreCompPtr' info='the compiled instruction'/>
    </function>
    <function name='xsltApplyOneTemplate' file='transform'>
      <info>Processes a sequence constructor on the current node in the source tree.  @params are the already computed variable stack items; this function pushes them on the variable stack, and pops them before exiting; it&apos;s left to the caller to free or reuse @params afterwards. The initial states of the variable stack will always be restored before this function exits. NOTE that this does *not* initiate a new distinct variable scope; i.e. variables already on the stack are visible to the process. The caller&apos;s side needs to start a new variable scope if needed (e.g. in exsl:function).  @templ is obsolete and not used anymore (e.g. &lt;exslt:function&gt; does not provide a @templ); a non-NULL @templ might raise an error in the future.  BIG NOTE: This function is not intended to process the content of an xsl:template; it does not expect xsl:param instructions in @list and will report errors if found.  Called by: - xsltEvalVariable() (variables.c) - exsltFuncFunctionFunction() (libexsl/functions.c)</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='contextNode' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='list' type='xmlNodePtr' info='the nodes of a sequence constructor'/>
      <arg name='templ' type='xsltTemplatePtr' info='not used'/>
      <arg name='params' type='xsltStackElemPtr' info='a set of parameters (xsl:param) or NULL'/>
    </function>
    <function name='xsltApplyStripSpaces' file='transform'>
      <info>Strip the unwanted ignorable spaces from the input tree</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the root of the XML tree'/>
    </function>
    <function name='xsltApplyStylesheet' file='transform'>
      <info>Apply the stylesheet to the document NOTE: This may lead to a non-wellformed output XML wise !</info>
      <return type='xmlDocPtr' info='the result document or NULL in case of error'/>
      <arg name='style' type='xsltStylesheetPtr' info='a parsed XSLT stylesheet'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed XML document'/>
      <arg name='params' type='const char **' info='a NULL terminated arry of parameters names/values tuples'/>
    </function>
    <function name='xsltApplyStylesheetUser' file='transform'>
      <info>Apply the stylesheet to the document and allow the user to provide its own transformation context.</info>
      <return type='xmlDocPtr' info='the result document or NULL in case of error'/>
      <arg name='style' type='xsltStylesheetPtr' info='a parsed XSLT stylesheet'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed XML document'/>
      <arg name='params' type='const char **' info='a NULL terminated array of parameters names/values tuples'/>
      <arg name='output' type='const char *' info='the targetted output'/>
      <arg name='profile' type='FILE *' info='profile FILE * output or NULL'/>
      <arg name='userCtxt' type='xsltTransformContextPtr' info='user provided transform context'/>
    </function>
    <function name='xsltApplyTemplates' file='transform'>
      <info>Processes the XSLT &apos;apply-templates&apos; instruction on the current node.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT transformation context'/>
      <arg name='node' type='xmlNodePtr' info='the &apos;current node&apos; in the source tree'/>
      <arg name='inst' type='xmlNodePtr' info='the element node of an XSLT &apos;apply-templates&apos; instruction'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='the compiled instruction'/>
    </function>
    <function name='xsltAttrListTemplateProcess' file='templates'>
      <info>Processes all attributes of a Literal Result Element. Attribute references are applied via xsl:use-attribute-set attributes. Copies all non XSLT-attributes over to the @target element and evaluates Attribute Value Templates.  Called by xsltApplySequenceConstructor() (transform.c).</info>
      <return type='xmlAttrPtr' info='a new list of attribute nodes, or NULL in case of error. (Don&apos;t assign the result to @target-&gt;properties; if the result is NULL, you&apos;ll get memory leaks, since the attributes will be disattached.)'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='target' type='xmlNodePtr' info='the element where the attributes will be grafted'/>
      <arg name='attrs' type='xmlAttrPtr' info='the first attribute'/>
    </function>
    <function name='xsltAttrTemplateProcess' file='templates'>
      <info>Process one attribute of a Literal Result Element (in the stylesheet). Evaluates Attribute Value Templates and copies the attribute over to the result element. This does *not* process attribute sets (xsl:use-attribute-set).</info>
      <return type='xmlAttrPtr' info='the generated attribute node.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='target' type='xmlNodePtr' info='the element where the attribute will be grafted'/>
      <arg name='attr' type='xmlAttrPtr' info='the attribute node of a literal result element'/>
    </function>
    <function name='xsltAttrTemplateValueProcess' file='templates'>
      <info>Process the given node and return the new string value.</info>
      <return type='xmlChar *' info='the computed string value or NULL, must be deallocated by the caller.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='str' type='const xmlChar *' info='the attribute template node value'/>
    </function>
    <function name='xsltAttrTemplateValueProcessNode' file='templates'>
      <info>Process the given string, allowing to pass a namespace mapping context and return the new string value.  Called by: - xsltAttrTemplateValueProcess() (templates.c) - xsltEvalAttrValueTemplate() (templates.c)  QUESTION: Why is this function public? It is not used outside of templates.c.</info>
      <return type='xmlChar *' info='the computed string value or NULL, must be deallocated by the caller.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='str' type='const xmlChar *' info='the attribute template node value'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction (or LRE) in the stylesheet holding the attribute with an AVT'/>
    </function>
    <function name='xsltAttribute' file='transform'>
      <info>Process the xslt attribute node on the source node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt attribute node'/>
      <arg name='comp' type='xsltStylePreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltCalibrateAdjust' file='xsltutils'>
      <info>Used for to correct the calibration for xsltTimestamp()</info>
      <return type='void'/>
      <arg name='delta' type='long' info='a negative dealy value found'/>
    </function>
    <function name='xsltCallTemplate' file='transform'>
      <info>Processes the XSLT call-template instruction on the source node.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT transformation context'/>
      <arg name='node' type='xmlNodePtr' info='the &quot;current node&quot; in the source tree'/>
      <arg name='inst' type='xmlNodePtr' info='the XSLT &apos;call-template&apos; instruction'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='the compiled information of the instruction'/>
    </function>
    <function name='xsltCheckExtPrefix' file='extensions'>
      <info>Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltGetInheritedNsList() (xslt.c) xsltParseTemplateContent (xslt.c)</info>
      <return type='int' info='1 if this is an extension, 0 otherwise'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
      <arg name='URI' type='const xmlChar *' info='the namespace prefix (possibly NULL)'/>
    </function>
    <function name='xsltCheckExtURI' file='extensions'>
      <info>Check if the given prefix is one of the declared extensions. This is intended to be called only at compile-time. Called by: xsltPrecomputeStylesheet() (xslt.c) xsltParseTemplateContent (xslt.c)</info>
      <return type='int' info='1 if this is an extension, 0 otherwise'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
      <arg name='URI' type='const xmlChar *' info='the namespace URI (possibly NULL)'/>
    </function>
    <function name='xsltCheckRead' file='security'>
      <info>Check if the resource is allowed to be read</info>
      <return type='int' info='1 if read is allowed, 0 if not and -1 in case or error.'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security options'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='URL' type='const xmlChar *' info='the resource to be read'/>
    </function>
    <function name='xsltCheckWrite' file='security'>
      <info>Check if the resource is allowed to be written, if necessary makes some preliminary work like creating directories</info>
      <return type='int' info='1 if write is allowed, 0 if not and -1 in case or error.'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security options'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='URL' type='const xmlChar *' info='the resource to be written'/>
    </function>
    <function name='xsltChoose' file='transform'>
      <info>Processes the xsl:choose instruction on the source node.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='contextNode' type='xmlNodePtr' info='the current node in the source tree'/>
      <arg name='inst' type='xmlNodePtr' info='the xsl:choose instruction'/>
      <arg name='comp' type='xsltStylePreCompPtr' info='compiled information of the instruction'/>
    </function>
    <function name='xsltCleanupGlobals' file='xslt'>
      <info>Unregister all global variables set up by the XSLT library</info>
      <return type='void'/>
    </function>
    <function name='xsltCleanupTemplates' file='pattern'>
      <info>Cleanup the state of the templates used by the stylesheet and the ones it imports.</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
    </function>
    <function name='xsltComment' file='transform'>
      <info>Process the xslt comment node on the source node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt comment node'/>
      <arg name='comp' type='xsltStylePreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltCompileAttr' file='xsltInternals'>
      <info>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.</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info='a XSLT process context'/>
      <arg name='attr' type='xmlAttrPtr' info='the attribute coming from the stylesheet.'/>
    </function>
    <function name='xsltCompilePattern' file='pattern'>
      <info>Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching.  [1] Pattern ::= LocationPathPattern | Pattern &apos;|&apos; LocationPathPattern</info>
      <return type='xsltCompMatchPtr' info='the generated pattern list or NULL in case of failure'/>
      <arg name='pattern' type='const xmlChar *' info='an XSLT pattern'/>
      <arg name='doc' type='xmlDocPtr' info='the containing document'/>
      <arg name='node' type='xmlNodePtr' info='the containing element'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
      <arg name='runtime' type='xsltTransformContextPtr' info='the transformation context, if done at run-time'/>
    </function>
    <function name='xsltComputeSortResult' file='xsltutils'>
      <info>reorder the current node list accordingly to the set of sorting requirement provided by the array of nodes.</info>
      <return type='xmlXPathObjectPtr *' info='a ordered XPath nodeset or NULL in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='sort' type='xmlNodePtr' info='node list'/>
    </function>
    <function name='xsltCopy' file='transform'>
      <info>Execute the XSLT-copy instruction on the source node.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree'/>
      <arg name='inst' type='xmlNodePtr' info='the element node of the XSLT-copy instruction'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='computed information of the XSLT-copy instruction'/>
    </function>
    <function name='xsltCopyNamespace' file='namespaces'>
      <info>Copies a namespace node (declaration). If @elem is not NULL, then the new namespace will be declared on @elem.</info>
      <return type='xmlNsPtr' info='a new xmlNsPtr, or NULL in case of an error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a transformation context'/>
      <arg name='elem' type='xmlNodePtr' info='the target element node'/>
      <arg name='ns' type='xmlNsPtr' info='the namespace node'/>
    </function>
    <function name='xsltCopyNamespaceList' file='namespaces'>
      <info>Do a copy of an namespace list. If @node is non-NULL the new namespaces are added automatically. This handles namespaces aliases. This function is intended only for *internal* use at transformation-time for copying ns-declarations of Literal Result Elements.  Called by: xsltCopyTreeInternal() (transform.c) xsltShallowCopyElem() (transform.c)  REVISIT: This function won&apos;t be used in the refactored code.</info>
      <return type='xmlNsPtr' info='a new xmlNsPtr, or NULL in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a transformation context'/>
      <arg name='node' type='xmlNodePtr' info='the target node'/>
      <arg name='cur' type='xmlNsPtr' info='the first namespace'/>
    </function>
    <function name='xsltCopyOf' file='transform'>
      <info>Process the XSLT copy-of instruction.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='node' type='xmlNodePtr' info='the current node in the source tree'/>
      <arg name='inst' type='xmlNodePtr' info='the element node of the XSLT copy-of instruction'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='precomputed information of the XSLT copy-of instruction'/>
    </function>
    <function name='xsltCopyTextString' file='transform'>
      <info>Adds @string to a newly created or an existent text node child of @target.</info>
      <return type='xmlNodePtr' info='the text node, where the text content of @cur is copied to. NULL in case of API or internal errors.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='target' type='xmlNodePtr' info='the element where the text will be attached'/>
      <arg name='string' type='const xmlChar *' info='the text string'/>
      <arg name='noescape' type='int' info='should disable-escaping be activated for this text node.'/>
    </function>
    <function name='xsltCreateRVT' file='xsltInternals'>
      <info>Creates a Result Value Tree (the XSLT 1.0 term for this is &quot;Result Tree Fragment&quot;)</info>
      <return type='xmlDocPtr' info='the result value tree or NULL in case of API or internal errors.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
    </function>
    <function name='xsltDebug' file='extra'>
      <info>Process an debug node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT processing context'/>
      <arg name='node' type='xmlNodePtr' info='The current node'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction in the stylesheet'/>
      <arg name='comp' type='xsltStylePreCompPtr' info='precomputed informations'/>
    </function>
    <function name='xsltDebugDumpExtensions' file='extensions'>
      <info>Dumps a list of the registered XSLT extension functions and elements</info>
      <return type='void'/>
      <arg name='output' type='FILE *' info='the FILE * for the output, if NULL stdout is used'/>
    </function>
    <function name='xsltDebugGetDefaultTrace' file='xsltutils'>
      <info>Get the current default debug tracing level mask</info>
      <return type='xsltDebugTraceCodes' info='the current default debug tracing level mask'/>
    </function>
    <function name='xsltDebugSetDefaultTrace' file='xsltutils'>
      <info>Set the default debug tracing level mask</info>
      <return type='void'/>
      <arg name='val' type='xsltDebugTraceCodes' info='tracing level mask'/>
    </function>
    <function name='xsltDecimalFormatGetByName' file='xsltInternals'>
      <info>Find decimal-format by name</info>
      <return type='xsltDecimalFormatPtr' info='the xsltDecimalFormatPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet'/>
      <arg name='name' type='xmlChar *' info='the decimal-format name to find'/>
    </function>
    <function name='xsltDefaultSortFunction' file='xsltutils'>
      <info>reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='sorts' type='xmlNodePtr *' info='array of sort nodes'/>
      <arg name='nbsorts' type='int' info='the number of sorts in the array'/>
    </function>
    <function name='xsltDoSortFunction' file='xsltutils'>
      <info>reorder the current node list accordingly to the set of sorting requirement provided by the arry of nodes. This is a wrapper function, the actual function used is specified using xsltSetCtxtSortFunc() to set the context specific sort function, or xsltSetSortFunc() to set the global sort function. If a sort function is set on the context, this will get called. Otherwise the global sort function is called.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='sorts' type='xmlNodePtr *' info='array of sort nodes'/>
      <arg name='nbsorts' type='int' info='the number of sorts in the array'/>
    </function>
    <functype name='xsltDocLoaderFunc' file='documents'>
      <info>An xsltDocLoaderFunc is a signature for a function which can be registered to load document not provided by the compilation or transformation API themselve, for example when an xsl:import, xsl:include is found at compilation time or when a document() call is made at runtime.</info>
      <return type='xmlDocPtr' info='the pointer to the document (which will be modified and freed by the engine later), or NULL in case of error.'/>
      <arg name='URI' type='const xmlChar *' info='the URI of the document to load'/>
      <arg name='dict' type='xmlDictPtr' info='the dictionary to use when parsing that document'/>
      <arg name='options' type='int' info='parsing options, a set of xmlParserOption'/>
      <arg name='ctxt' type='void *' info='the context, either a stylesheet or a transformation context'/>
      <arg name='type' type='xsltLoadType' info='the xsltLoadType indicating the kind of loading required'/>
    </functype>
    <function name='xsltDocumentComp' file='preproc'>
      <info>Pre process an XSLT-1.1 document element</info>
      <return type='xsltElemPreCompPtr' info='a precompiled data structure for the element'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction in the stylesheet'/>
      <arg name='function' type='xsltTransformFunction' info='unused'/>
    </function>
    <function name='xsltDocumentElem' file='transform'>
      <info>Process an EXSLT/XSLT-1.1 document element</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT processing context'/>
      <arg name='node' type='xmlNodePtr' info='The current node'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction in the stylesheet'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltDocumentFunction' file='functions'>
      <info>Implement the document() XSLT function node-set document(object, node-set?)</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
      <arg name='nargs' type='int' info='the number of arguments'/>
    </function>
    <function name='xsltDocumentSortFunction' file='xsltutils'>
      <info>reorder the current node list @list accordingly to the document order This function is slow, obsolete and should not be used anymore.</info>
      <return type='void'/>
      <arg name='list' type='xmlNodeSetPtr' info='the node set'/>
    </function>
    <functype name='xsltDropCallCallback' file='xsltutils'>
      <info></info>
      <return type='void'/>
    </functype>
    <functype name='xsltElemPreCompDeallocator' file='xsltInternals'>
      <info>Deallocates an #xsltElemPreComp structure.</info>
      <return type='void'/>
      <arg name='comp' type='xsltElemPreCompPtr' info='the #xsltElemPreComp to free up'/>
    </functype>
    <function name='xsltElement' file='transform'>
      <info>Process the xslt element node on the source node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt element node'/>
      <arg name='castedComp' type='xsltStylePreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltElementAvailableFunction' file='functions'>
      <info>Implement the element-available() XSLT function boolean element-available(string)</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
      <arg name='nargs' type='int' info='the number of arguments'/>
    </function>
    <function name='xsltEvalAVT' file='xsltInternals'>
      <info>Process the given AVT, and return the new string value.</info>
      <return type='xmlChar *' info='the computed string value or NULL, must be deallocated by the caller.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='avt' type='void *' info='the prevompiled attribute value template info'/>
      <arg name='node' type='xmlNodePtr' info='the node hosting the attribute'/>
    </function>
    <function name='xsltEvalAttrValueTemplate' file='templates'>
      <info>Evaluate a attribute value template, i.e. the attribute value can contain expressions contained in curly braces ({}) and those are substituted by they computed value.</info>
      <return type='xmlChar *' info='the computed string value or NULL, must be deallocated by the caller.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction (or LRE) in the stylesheet holding the attribute with an AVT'/>
      <arg name='name' type='const xmlChar *' info='the attribute QName'/>
      <arg name='ns' type='const xmlChar *' info='the attribute namespace URI'/>
    </function>
    <function name='xsltEvalGlobalVariables' file='variables'>
      <info>Evaluates all global variables and parameters of a stylesheet. For internal use only. This is called at start of a transformation.</info>
      <return type='int' info='0 in case of success, -1 in case of error'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
    </function>
    <function name='xsltEvalOneUserParam' file='variables'>
      <info>This is normally called from xsltEvalUserParams to process a single parameter from a list of parameters.  The @value is evaluated as an XPath expression and the result is stored in the context&apos;s global variable/parameter hash table.  To have a parameter treated literally (not as an XPath expression) use xsltQuoteUserParams (or xsltQuoteOneUserParam).  For more details see description of xsltProcessOneUserParamInternal.</info>
      <return type='int' info='0 in case of success, -1 in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='name' type='const xmlChar *' info='a null terminated string giving the name of the parameter'/>
      <arg name='value' type='const xmlChar *' info='a null terminated string giving the XPath expression to be evaluated'/>
    </function>
    <function name='xsltEvalStaticAttrValueTemplate' file='templates'>
      <info>Check if an attribute value template has a static value, i.e. the attribute value does not contain expressions contained in curly braces ({})</info>
      <return type='const xmlChar *' info='the static string value or NULL, must be deallocated by the caller.'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction (or LRE) in the stylesheet holding the attribute with an AVT'/>
      <arg name='name' type='const xmlChar *' info='the attribute Name'/>
      <arg name='ns' type='const xmlChar *' info='the attribute namespace URI'/>
      <arg name='found' type='int *' info='indicator whether the attribute is present'/>
    </function>
    <function name='xsltEvalTemplateString' file='templates'>
      <info>Processes the sequence constructor of the given instruction on @contextNode a