enhanced documentation to include exslt; rebuilt docs
[platform/upstream/libxslt.git] / doc / html / libxslt-xsltInternals.html
index 097c40f..9f58198 100644 (file)
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xsltInternals</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
-        .synopsis, .classsynopsis {
-            background: #eeeeee;
-            border: solid 1px #aaaaaa;
-            padding: 0.5em;
-        }
-        .programlisting {
-            background: #eeeeff;
-            border: solid 1px #aaaaff;
-            padding: 0.5em;
-        }
-        .variablelist {
-            padding: 4px;
-            margin-left: 3em;
-        }
-        .navigation {
-            background: #ffeeee;
-            border: solid 1px #ffaaaa;
-            margin-top: 0.5em;
-            margin-bottom: 0.5em;
-        }
-        .navigation a {
-            color: #770000;
-        }
-        .navigation a:visited {
-            color: #550000;
-        }
-        .navigation .title {
-            font-size: 200%;
-        }
-      </style><link rel="home" href="index.html" title="Gnome XSLT Library Reference Manual"><link rel="up" href="libxslt-lib.html" title="Libxslt Library Reference"><link rel="previous" href="libxslt-keys.html" title="keys"><link rel="next" href="libxslt-numbersInternals.html" title="numbersInternals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxslt-keys.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxslt-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XSLT Library Reference Manual</th><td><a accesskey="n" href="libxslt-numbersInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxslt-xsltInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>xsltInternals</h2><p>xsltInternals &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
-
-
-
-#define     <a href="libxslt-xsltInternals.html#XSLT-MAX-SORT-CAPS">XSLT_MAX_SORT</a>
-#define     <a href="libxslt-xsltInternals.html#XSLT-PAT-NO-PRIORITY-CAPS">XSLT_PAT_NO_PRIORITY</a>
-struct      <a href="libxslt-xsltInternals.html#xsltRuntimeExtra">xsltRuntimeExtra</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltRuntimeExtraPtr">xsltRuntimeExtraPtr</a>;
-#define     <a href="libxslt-xsltInternals.html#XSLT-RUNTIME-EXTRA-LST-CAPS">XSLT_RUNTIME_EXTRA_LST</a>          (ctxt, nr)
-#define     <a href="libxslt-xsltInternals.html#XSLT-RUNTIME-EXTRA-FREE-CAPS">XSLT_RUNTIME_EXTRA_FREE</a>         (ctxt, nr)
-#define     <a href="libxslt-xsltInternals.html#XSLT-RUNTIME-EXTRA-CAPS">XSLT_RUNTIME_EXTRA</a>              (ctxt, nr)
-struct      <a href="libxslt-xsltInternals.html#xsltTemplate">xsltTemplate</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltDecimalFormat">xsltDecimalFormat</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltDocument">xsltDocument</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltTransformContext">xsltTransformContext</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a>;
-void        (<a href="libxslt-xsltInternals.html#xsltTransformFunction">*xsltTransformFunction</a>)        (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> node,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> inst,
-                                             <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
-void        (<a href="libxslt-xsltInternals.html#xsltSortFunc">*xsltSortFunc</a>)                 (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> *sorts,
-                                             int nbsorts);
-enum        <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a>;
-void        (<a href="libxslt-xsltInternals.html#xsltElemPreCompDeallocator">*xsltElemPreCompDeallocator</a>)   (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);
-struct      <a href="libxslt-xsltInternals.html#xsltStylePreComp">xsltStylePreComp</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltStylePreCompPtr">xsltStylePreCompPtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltStackElem">xsltStackElem</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a>;
-struct      <a href="libxslt-xsltInternals.html#xsltStylesheet">xsltStylesheet</a>;
-typedef     <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>;
-enum        <a href="libxslt-xsltInternals.html#xsltOutputType">xsltOutputType</a>;
-enum        <a href="libxslt-xsltInternals.html#xsltTransformState">xsltTransformState</a>;
-#define     <a href="libxslt-xsltInternals.html#CHECK-STOPPED-CAPS">CHECK_STOPPED</a>
-#define     <a href="libxslt-xsltInternals.html#CHECK-STOPPEDE-CAPS">CHECK_STOPPEDE</a>
-#define     <a href="libxslt-xsltInternals.html#CHECK-STOPPED0-CAPS">CHECK_STOPPED0</a>
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltNewStylesheet">xsltNewStylesheet</a>         (void);
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltParseStylesheetFile">xsltParseStylesheetFile</a>   (const <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *filename);
-void        <a href="libxslt-xsltInternals.html#xsltFreeStylesheet">xsltFreeStylesheet</a>              (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet);
-int         <a href="libxslt-xsltInternals.html#xsltIsBlank">xsltIsBlank</a>                     (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *str);
-void        <a href="libxslt-xsltInternals.html#xsltFreeStackElemList">xsltFreeStackElemList</a>           (<a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem);
-<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> <a href="libxslt-xsltInternals.html#xsltDecimalFormatGetByName">xsltDecimalFormatGetByName</a>
-                                            (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *name);
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltParseStylesheetProcess">xsltParseStylesheetProcess</a>
-                                            (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);
-void        <a href="libxslt-xsltInternals.html#xsltParseStylesheetOutput">xsltParseStylesheetOutput</a>       (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> cur);
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltParseStylesheetDoc">xsltParseStylesheetDoc</a>    (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltParseStylesheetImportedDoc">xsltParseStylesheetImportedDoc</a>
-                                            (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);
-<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> <a href="libxslt-xsltInternals.html#xsltLoadStylesheetPI">xsltLoadStylesheetPI</a>      (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);
-void        <a href="libxslt-xsltInternals.html#xsltNumberFormat">xsltNumberFormat</a>                (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> node);
-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlXPathError">xmlXPathError</GTKDOCLINK> <a href="libxslt-xsltInternals.html#xsltFormatNumberConversion">xsltFormatNumberConversion</a>    (<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *format,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> number,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> **result);
-void        <a href="libxslt-xsltInternals.html#xsltParseTemplateContent">xsltParseTemplateContent</a>        (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> templ);
-int         <a href="libxslt-xsltInternals.html#xsltAllocateExtra">xsltAllocateExtra</a>               (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);
-int         <a href="libxslt-xsltInternals.html#xsltAllocateExtraCtxt">xsltAllocateExtraCtxt</a>           (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK>   <a href="libxslt-xsltInternals.html#xsltCreateRVT">xsltCreateRVT</a>                   (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
-int         <a href="libxslt-xsltInternals.html#xsltRegisterTmpRVT">xsltRegisterTmpRVT</a>              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> RVT);
-int         <a href="libxslt-xsltInternals.html#xsltRegisterPersistRVT">xsltRegisterPersistRVT</a>          (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> RVT);
-void        <a href="libxslt-xsltInternals.html#xsltFreeRVTs">xsltFreeRVTs</a>                    (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);
-</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
-
-</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="XSLT-MAX-SORT-CAPS"></a>XSLT_MAX_SORT</h3><pre class="programlisting">#define XSLT_MAX_SORT 15
-</pre><p>
-Max number of specified xsl:sort on an element.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XSLT-PAT-NO-PRIORITY-CAPS"></a>XSLT_PAT_NO_PRIORITY</h3><pre class="programlisting">#define XSLT_PAT_NO_PRIORITY -12345789
-</pre><p>
-Specific value for pattern without priority expressed.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltRuntimeExtra"></a>struct xsltRuntimeExtra</h3><pre class="programlisting">struct xsltRuntimeExtra {
-    void       *info;          /* pointer to the extra data */
-    xmlFreeFunc deallocate;    /* pointer to the deallocation routine */
-    void       *val;           /* data not needing deallocation */
-};
-</pre><p>
-Extra information added to the transformation context.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltRuntimeExtraPtr"></a>xsltRuntimeExtraPtr</h3><pre class="programlisting">typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XSLT-RUNTIME-EXTRA-LST-CAPS"></a>XSLT_RUNTIME_EXTRA_LST()</h3><pre class="programlisting">#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)-&gt;extras[(nr)].info
-</pre><p>
-Macro used to access extra information stored in the context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the transformation context
-</td></tr><tr><td><span class="term"><i><tt>nr</tt></i> :</span></td><td> the index
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XSLT-RUNTIME-EXTRA-FREE-CAPS"></a>XSLT_RUNTIME_EXTRA_FREE()</h3><pre class="programlisting">#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)-&gt;extras[(nr)].deallocate
-</pre><p>
-Macro used to free extra information stored in the context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the transformation context
-</td></tr><tr><td><span class="term"><i><tt>nr</tt></i> :</span></td><td> the index
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XSLT-RUNTIME-EXTRA-CAPS"></a>XSLT_RUNTIME_EXTRA()</h3><pre class="programlisting">#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)-&gt;extras[(nr)].val
-</pre><p>
-Macro used to define extra information stored in the context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the transformation context
-</td></tr><tr><td><span class="term"><i><tt>nr</tt></i> :</span></td><td> the index
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTemplate"></a>struct xsltTemplate</h3><pre class="programlisting">struct xsltTemplate {
-    struct _xsltTemplate *next;/* chained list sorted by priority */
-    struct _xsltStylesheet *style;/* the containing stylesheet */
-    xmlChar *match;    /* the matching string */
-    float priority;    /* as given from the stylesheet, not computed */
-    xmlChar *name;     /* the local part of the name QName */
-    xmlChar *nameURI;  /* the URI part of the name QName */
-    xmlChar *mode;     /* the local part of the mode QName */
-    xmlChar *modeURI;  /* the URI part of the mode QName */
-    xmlNodePtr content;        /* the template replacement value */
-    xmlNodePtr elem;   /* the source element */
-
-    int inheritedNsNr;  /* number of inherited namespaces */
-    xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */
-
-    /* Profiling informations */
-    int nbCalls;        /* the number of time the template was called */
-    unsigned long time; /* the time spent in this template */
-};
-</pre><p>
-The in-memory structure corresponding to an XSLT Template.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTemplatePtr"></a>xsltTemplatePtr</h3><pre class="programlisting">typedef xsltTemplate *xsltTemplatePtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltDecimalFormat"></a>struct xsltDecimalFormat</h3><pre class="programlisting">struct xsltDecimalFormat {
-    struct _xsltDecimalFormat *next; /* chained list */
-    xmlChar *name;
-    /* Used for interpretation of pattern */
-    xmlChar *digit;
-    xmlChar *patternSeparator;
-    /* May appear in result */
-    xmlChar *minusSign;
-    xmlChar *infinity;
-    xmlChar *noNumber; /* Not-a-number */
-    /* Used for interpretation of pattern and may appear in result */
-    xmlChar *decimalPoint;
-    xmlChar *grouping;
-    xmlChar *percent;
-    xmlChar *permille;
-    xmlChar *zeroDigit;
-};
-</pre><p>
-Data structure of decimal-format.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltDecimalFormatPtr"></a>xsltDecimalFormatPtr</h3><pre class="programlisting">typedef xsltDecimalFormat *xsltDecimalFormatPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltDocument"></a>struct xsltDocument</h3><pre class="programlisting">struct xsltDocument {
-    struct _xsltDocument *next;        /* documents are kept in a chained list */
-    int main;                  /* is this the main document */
-    xmlDocPtr doc;             /* the parsed document */
-    void *keys;                        /* key tables storage */
-};
-</pre><p>
-Data structure associated to a parsed document.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltDocumentPtr"></a>xsltDocumentPtr</h3><pre class="programlisting">typedef xsltDocument *xsltDocumentPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTransformContext"></a>struct xsltTransformContext</h3><pre class="programlisting">struct xsltTransformContext {
-    xsltStylesheetPtr style;           /* the stylesheet used */
-    xsltOutputType type;               /* the type of output */
-
-    xsltTemplatePtr  templ;            /* the current template */
-    int              templNr;          /* Nb of templates in the stack */
-    int              templMax;         /* Size of the templtes stack */
-    xsltTemplatePtr *templTab;         /* the template stack */
-
-    xsltStackElemPtr  vars;            /* the current variable list */
-    int               varsNr;          /* Nb of variable list in the stack */
-    int               varsMax;         /* Size of the variable list stack */
-    xsltStackElemPtr *varsTab;         /* the variable list stack */
-    int               varsBase;                /* the var base for current templ */
-
-    /*
-     * Extensions
-     */
-    xmlHashTablePtr   extFunctions;    /* the extension functions */
-    xmlHashTablePtr   extElements;     /* the extension elements */
-    xmlHashTablePtr   extInfos;                /* the extension data */
-
-    const xmlChar *mode;               /* the current mode */
-    const xmlChar *modeURI;            /* the current mode URI */
-
-    xsltDocumentPtr docList;           /* the document list */
-
-    xsltDocumentPtr document;          /* the current document */
-    xmlNodePtr node;                   /* the current node being processed */
-    xmlNodeSetPtr nodeList;            /* the current node list */
-    /* xmlNodePtr current;                     the node */
-
-    xmlDocPtr output;                  /* the resulting document */
-    xmlNodePtr insert;                 /* the insertion node */
-
-    xmlXPathContextPtr xpathCtxt;      /* the XPath context */
-    xsltTransformState state;          /* the current state */
-
-    /*
-     * Global variables
-     */
-    xmlHashTablePtr   globalVars;      /* the global variables and params */
-
-    xmlNodePtr inst;                   /* the instruction in the stylesheet */
-
-    int xinclude;                      /* should XInclude be processed */
-
-    const char *      outputFile;      /* the output URI if known */
-
-    int profile;                        /* is this run profiled */
-    long             prof;             /* the current profiled value */
-    int              profNr;           /* Nb of templates in the stack */
-    int              profMax;          /* Size of the templtaes stack */
-    long            *profTab;          /* the profile template stack */
-
-    void            *_private;         /* user defined data */
-
-    int              extrasNr;         /* the number of extras used */
-    int              extrasMax;                /* the number of extras allocated */
-    xsltRuntimeExtraPtr extras;                /* extra per runtime informations */
-
-    xsltDocumentPtr  styleList;                /* the stylesheet docs list */
-    void                 * sec;                /* the security preferences if any */
-
-    xmlGenericErrorFunc  error;                /* a specific error handler */
-    void              * errctx;                /* context for the error handler */
-
-    xsltSortFunc      sortfunc;                /* a ctxt specific sort routine */
-
-    /*
-     * handling of temporary Result Value Tree
-     */
-    xmlDocPtr       tmpRVT;            /* list of RVT without persistance */
-    xmlDocPtr       persistRVT;                /* list of persistant RVTs */
-    int             ctxtflags;          /* context processing flags */
-
-    /*
-     * Speed optimization when coalescing text nodes
-     */
-    const xmlChar  *lasttext;          /* last text node content */
-    unsigned int    lasttsize;         /* last text node size */
-    unsigned int    lasttuse;          /* last text node use */
-};
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTransformContextPtr"></a>xsltTransformContextPtr</h3><pre class="programlisting">typedef xsltTransformContext *xsltTransformContextPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltElemPreComp"></a>struct xsltElemPreComp</h3><pre class="programlisting">struct xsltElemPreComp {
-    xsltElemPreCompPtr next;           /* chained list */
-    xsltStyleType type;                        /* type of the element */
-    xsltTransformFunction func;        /* handling function */
-    xmlNodePtr inst;                   /* the instruction */
-
-    /* end of common part */
-    xsltElemPreCompDeallocator free;   /* the deallocator */
-};
-</pre><p>
-The in-memory structure corresponding to element precomputed data,
-designed to be extended by extension implementors.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltElemPreCompPtr"></a>xsltElemPreCompPtr</h3><pre class="programlisting">typedef xsltElemPreComp *xsltElemPreCompPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTransformFunction"></a>xsltTransformFunction ()</h3><pre class="programlisting">void        (*xsltTransformFunction)        (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> node,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> inst,
-                                             <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);</pre><p>
-Signature of the function associated to elements part of the
-stylesheet language like xsl:if or xsl:apply-templates.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the XSLT transformation context
-</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> the input node
-</td></tr><tr><td><span class="term"><i><tt>inst</tt></i> :</span></td><td> the stylesheet node
-</td></tr><tr><td><span class="term"><i><tt>comp</tt></i> :</span></td><td> the compiled information from the stylesheet
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltSortFunc"></a>xsltSortFunc ()</h3><pre class="programlisting">void        (*xsltSortFunc)                 (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> *sorts,
-                                             int nbsorts);</pre><p>
-Signature of the function to use during sorting</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>    a transformation context
-</td></tr><tr><td><span class="term"><i><tt>sorts</tt></i> :</span></td><td>   the node-set to sort
-</td></tr><tr><td><span class="term"><i><tt>nbsorts</tt></i> :</span></td><td> the number of sorts
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStyleType"></a>enum xsltStyleType</h3><pre class="programlisting">typedef enum {
-    XSLT_FUNC_COPY=1,
-    XSLT_FUNC_SORT,
-    XSLT_FUNC_TEXT,
-    XSLT_FUNC_ELEMENT,
-    XSLT_FUNC_ATTRIBUTE,
-    XSLT_FUNC_COMMENT,
-    XSLT_FUNC_PI,
-    XSLT_FUNC_COPYOF,
-    XSLT_FUNC_VALUEOF,
-    XSLT_FUNC_NUMBER,
-    XSLT_FUNC_APPLYIMPORTS,
-    XSLT_FUNC_CALLTEMPLATE,
-    XSLT_FUNC_APPLYTEMPLATES,
-    XSLT_FUNC_CHOOSE,
-    XSLT_FUNC_IF,
-    XSLT_FUNC_FOREACH,
-    XSLT_FUNC_DOCUMENT,
-    XSLT_FUNC_WITHPARAM,
-    XSLT_FUNC_PARAM,
-    XSLT_FUNC_VARIABLE,
-    XSLT_FUNC_WHEN,
-    XSLT_FUNC_EXTENSION
-} xsltStyleType;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltElemPreCompDeallocator"></a>xsltElemPreCompDeallocator ()</h3><pre class="programlisting">void        (*xsltElemPreCompDeallocator)   (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp);</pre><p>
-Deallocates an <a href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a> structure.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>comp</tt></i> :</span></td><td>  the <a href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a> to free up
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStylePreComp"></a>struct xsltStylePreComp</h3><pre class="programlisting">struct xsltStylePreComp {
-    xsltElemPreCompPtr next;   /* chained list */
-    xsltStyleType type;                /* type of the element */
-    xsltTransformFunction func; /* handling function */
-    xmlNodePtr inst;           /* the instruction */
-
-    /*
-     * Pre computed values.
-     */
-
-    xmlChar *stype;             /* sort */
-    int      has_stype;                /* sort */
-    int      number;           /* sort */
-    xmlChar *order;             /* sort */
-    int      has_order;                /* sort */
-    int      descending;       /* sort */
-    xmlChar *lang;             /* sort */
-    int      has_lang;         /* sort */
-    xmlChar *case_order;       /* sort */
-    int      lower_first;      /* sort */
-
-    xmlChar *use;              /* copy, element */
-    int      has_use;          /* copy, element */
-
-    int      noescape;         /* text */
-
-    xmlChar *name;             /* element, attribute, pi */
-    int      has_name;         /* element, attribute, pi */
-    xmlChar *ns;               /* element */
-    int      has_ns;           /* element */
-
-    xmlChar *mode;             /* apply-templates */
-    xmlChar *modeURI;          /* apply-templates */
-
-    xmlChar *test;             /* if */
-
-    xsltTemplatePtr templ;     /* call-template */
-
-    xmlChar *select;           /* sort, copy-of, value-of, apply-templates */
-
-    int      ver11;            /* document */
-    xmlChar *filename;         /* document URL */
-    int      has_filename;     /* document */
-
-    xsltNumberData numdata;    /* number */
-
-    xmlXPathCompExprPtr comp;  /* a precompiled XPath expression */
-    xmlNsPtr *nsList;          /* the namespaces in scope */
-    int nsNr;                  /* the number of namespaces in scope */
-};
-</pre><p>
-The in-memory structure corresponding to XSLT stylesheet constructs
-precomputed data.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStylePreCompPtr"></a>xsltStylePreCompPtr</h3><pre class="programlisting">typedef xsltStylePreComp *xsltStylePreCompPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStackElem"></a>struct xsltStackElem</h3><pre class="programlisting">struct xsltStackElem {
-    struct _xsltStackElem *next;/* chained list */
-    xsltStylePreCompPtr comp;   /* the compiled form */
-    int computed;      /* was the evaluation done */
-    xmlChar *name;     /* the local part of the name QName */
-    xmlChar *nameURI;  /* the URI part of the name QName */
-    xmlChar *select;   /* the eval string */
-    xmlNodePtr tree;   /* the tree if no eval string or the location */
-    xmlXPathObjectPtr value; /* The value if computed */
-};
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStackElemPtr"></a>xsltStackElemPtr</h3><pre class="programlisting">typedef xsltStackElem *xsltStackElemPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStylesheet"></a>struct xsltStylesheet</h3><pre class="programlisting">struct xsltStylesheet {
-    /*
-     * The stylesheet import relation is kept as a tree.
-     */
-    struct _xsltStylesheet *parent;
-    struct _xsltStylesheet *next;
-    struct _xsltStylesheet *imports;
-
-    xsltDocumentPtr docList;           /* the include document list */
-
-    /*
-     * General data on the style sheet document.
-     */
-    xmlDocPtr doc;             /* the parsed XML stylesheet */
-    xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and
-                                  preserve space elements */
-    int             stripAll;  /* strip-space * (1) preserve-space * (-1) */
-    xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */
-
-    /*
-     * Global variable or parameters.
-     */
-    xsltStackElemPtr variables; /* linked list of param and variables */
-
-    /*
-     * Template descriptions.
-     */
-    xsltTemplatePtr templates; /* the ordered list of templates */
-    void *templatesHash;       /* hash table or wherever compiled templates
-                                  informations are stored */
-    void *rootMatch;           /* template based on / */
-    void *keyMatch;            /* template based on key() */
-    void *elemMatch;           /* template based on * */
-    void *attrMatch;           /* template based on @* */
-    void *parentMatch;         /* template based on .. */
-    void *textMatch;           /* template based on text() */
-    void *piMatch;             /* template based on processing-instruction() */
-    void *commentMatch;                /* template based on comment() */
-    
-    /*
-     * Namespace aliases.
-     */
-    xmlHashTablePtr nsAliases; /* the namespace alias hash tables */
-
-    /*
-     * Attribute sets.
-     */
-    xmlHashTablePtr attributeSets;/* the attribute sets hash tables */
-
-    /*
-     * Namespaces.
-     */
-    xmlHashTablePtr nsHash;     /* the set of namespaces in use */
-    void           *nsDefs;     /* the namespaces defined */
-
-    /*
-     * Key definitions.
-     */
-    void *keys;                                /* key definitions */
-
-    /*
-     * Output related stuff.
-     */
-    xmlChar *method;           /* the output method */
-    xmlChar *methodURI;                /* associated namespace if any */
-    xmlChar *version;          /* version string */
-    xmlChar *encoding;         /* encoding string */
-    int omitXmlDeclaration;     /* omit-xml-declaration = &quot;yes&quot; | &quot;no&quot; */
-
-    /* 
-     * Number formatting.
-     */
-    xsltDecimalFormatPtr decimalFormat;
-    int standalone;             /* standalone = &quot;yes&quot; | &quot;no&quot; */
-    xmlChar *doctypePublic;     /* doctype-public string */
-    xmlChar *doctypeSystem;     /* doctype-system string */
-    int indent;                        /* should output being indented */
-    xmlChar *mediaType;                /* media-type string */
-
-    /*
-     * Precomputed blocks.
-     */
-    xsltElemPreCompPtr preComps;/* list of precomputed blocks */
-    int warnings;              /* number of warnings found at compilation */
-    int errors;                        /* number of errors found at compilation */
-
-    xmlChar  *exclPrefix;      /* last excluded prefixes */
-    xmlChar **exclPrefixTab;   /* array of excluded prefixes */
-    int       exclPrefixNr;    /* number of excluded prefixes in scope */
-    int       exclPrefixMax;   /* size of the array */
-
-    void     *_private;                /* user defined data */
-
-    /*
-     * Extensions.
-     */
-    xmlHashTablePtr extInfos;  /* the extension data */
-    int                    extrasNr;   /* the number of extras required */
-};
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltStylesheetPtr"></a>xsltStylesheetPtr</h3><pre class="programlisting">typedef xsltStylesheet *xsltStylesheetPtr;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltOutputType"></a>enum xsltOutputType</h3><pre class="programlisting">typedef enum {
-    XSLT_OUTPUT_XML = 0,
-    XSLT_OUTPUT_HTML,
-    XSLT_OUTPUT_TEXT
-} xsltOutputType;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltTransformState"></a>enum xsltTransformState</h3><pre class="programlisting">typedef enum {
-    XSLT_STATE_OK = 0,
-    XSLT_STATE_ERROR,
-    XSLT_STATE_STOPPED
-} xsltTransformState;
-</pre><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-STOPPED-CAPS"></a>CHECK_STOPPED</h3><pre class="programlisting">#define CHECK_STOPPED if (ctxt-&gt;state == XSLT_STATE_STOPPED) return;
-</pre><p>
-Macro to check if the XSLT processing should be stopped.
-Will return from the function.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-STOPPEDE-CAPS"></a>CHECK_STOPPEDE</h3><pre class="programlisting">#define CHECK_STOPPEDE if (ctxt-&gt;state == XSLT_STATE_STOPPED) goto error;
-</pre><p>
-Macro to check if the XSLT processing should be stopped.
-Will goto the error: label.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-STOPPED0-CAPS"></a>CHECK_STOPPED0</h3><pre class="programlisting">#define CHECK_STOPPED0 if (ctxt-&gt;state == XSLT_STATE_STOPPED) return(0);
-</pre><p>
-Macro to check if the XSLT processing should be stopped.
-Will return from the function with a 0 value.</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltNewStylesheet"></a>xsltNewStylesheet ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltNewStylesheet         (void);</pre><p>
-Create a new XSLT Stylesheet</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly allocated xsltStylesheetPtr or NULL in case of error
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetFile"></a>xsltParseStylesheetFile ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetFile   (const <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *filename);</pre><p>
-Load and parse an XSLT stylesheet</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the filename/URL to the stylesheet
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new XSLT stylesheet structure.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltFreeStylesheet"></a>xsltFreeStylesheet ()</h3><pre class="programlisting">void        xsltFreeStylesheet              (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet);</pre><p>
-Free up the memory allocated by <i><tt>sheet</tt></i></p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sheet</tt></i> :</span></td><td>  an XSLT stylesheet
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltIsBlank"></a>xsltIsBlank ()</h3><pre class="programlisting">int         xsltIsBlank                     (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *str);</pre><p>
-Check if a string is ignorable</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>  a string
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if the string is NULL or made of blanks chars, 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltFreeStackElemList"></a>xsltFreeStackElemList ()</h3><pre class="programlisting">void        xsltFreeStackElemList           (<a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem);</pre><p>
-Free up the memory allocated by <i><tt>elem</tt></i></p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>  an XSLT stack element
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltDecimalFormatGetByName"></a>xsltDecimalFormatGetByName ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> xsltDecimalFormatGetByName
-                                            (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *name);</pre><p>
-Find decimal-format by name</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sheet</tt></i> :</span></td><td> the XSLT stylesheet
-</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the decimal-format name to find
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xsltDecimalFormatPtr
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetProcess"></a>xsltParseStylesheetProcess ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetProcess
-                                            (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);</pre><p>
-parse an XSLT stylesheet adding the associated structures</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ret</tt></i> :</span></td><td>  the XSLT stylesheet
-</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>  and xmlDoc parsed XML
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the value of the 'ret' parameter if everything
-went right, NULL if something went amiss.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetOutput"></a>xsltParseStylesheetOutput ()</h3><pre class="programlisting">void        xsltParseStylesheetOutput       (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> cur);</pre><p>
-parse an XSLT stylesheet output element and record
-information related to the stylesheet output</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>style</tt></i> :</span></td><td>  the XSLT stylesheet
-</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>  the &quot;output&quot; element
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetDoc"></a>xsltParseStylesheetDoc ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetDoc    (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);</pre><p>
-parse an XSLT stylesheet building the associated structures</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>  and xmlDoc parsed XML
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new XSLT stylesheet structure.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseStylesheetImportedDoc"></a>xsltParseStylesheetImportedDoc ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltParseStylesheetImportedDoc
-                                            (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);</pre><p>
-parse an XSLT stylesheet building the associated structures
-except the processing not needed for imported documents.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>  and xmlDoc parsed XML
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new XSLT stylesheet structure.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltLoadStylesheetPI"></a>xsltLoadStylesheetPI ()</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> xsltLoadStylesheetPI      (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> doc);</pre><p>
-This function tries to locate the stylesheet PI in the given document
-If found, and if contained within the document, it will extract 
-that subtree to build the stylesheet to process <i><tt>doc</tt></i> (doc itself will
-be modified). If found but referencing an external document it will
-attempt to load it and generate a stylesheet from it. In both cases,
-the resulting stylesheet and the document need to be freed once the
-transformation is done.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>  a document to process
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new XSLT stylesheet structure or NULL if not found.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltNumberFormat"></a>xsltNumberFormat ()</h3><pre class="programlisting">void        xsltNumberFormat                (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> node);</pre><p>
-Convert one number.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the XSLT transformation context
-</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the formatting informations
-</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> the data to format
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltFormatNumberConversion"></a>xsltFormatNumberConversion ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlXPathError">xmlXPathError</GTKDOCLINK> xsltFormatNumberConversion    (<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> *format,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> number,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlChar">xmlChar</GTKDOCLINK> **result);</pre><p>
-format-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="number">number</GTKDOCLINK>() uses the JDK 1.1 DecimalFormat class:
-</p><p>
-http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html
-</p><p>
-Structure:
-</p><p>
-  pattern    := subpattern{;subpattern}
-  subpattern := {prefix}integer{.fraction}{suffix}
-  prefix     := '\\u0000'..'\\uFFFD' - specialCharacters
-  suffix     := '\\u0000'..'\\uFFFD' - specialCharacters
-  integer    := '#'* '0'* '0'
-  fraction   := '0'* '#'*
-</p><p>
-  Notation:
-   X*       0 or more instances of X
-   (X | Y)  either X or Y.
-   X..Y     any character from X up to Y, inclusive.
-   S - T    characters in S, except those in T
-</p><p>
-Special Characters:
-</p><p>
-  Symbol Meaning
-  0      a digit
-  #      a digit, zero shows as absent
-  .      placeholder for decimal separator
-  ,      placeholder for grouping separator.
-  ;      separates formats.
-  -      default negative prefix.
-  %      multiply by 100 and show as percentage
-  ?      multiply by 1000 and show as per mille
-  X      any other characters can be used in the prefix or suffix
-  '      used to quote special characters in a prefix or suffix.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>self</tt></i> :</span></td><td> the decimal format
-</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> the format requested
-</td></tr><tr><td><span class="term"><i><tt>number</tt></i> :</span></td><td> the value to format
-</td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td> the place to ouput the result
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a possible XPath error
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltParseTemplateContent"></a>xsltParseTemplateContent ()</h3><pre class="programlisting">void        xsltParseTemplateContent        (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlNodePtr">xmlNodePtr</GTKDOCLINK> templ);</pre><p>
-parse a template content-model
-Clean-up the template content from unwanted ignorable blank nodes
-and process xslt:text</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>style</tt></i> :</span></td><td>  the XSLT stylesheet
-</td></tr><tr><td><span class="term"><i><tt>templ</tt></i> :</span></td><td>  the container node (can be a document for literal results)
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltAllocateExtra"></a>xsltAllocateExtra ()</h3><pre class="programlisting">int         xsltAllocateExtra               (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style);</pre><p>
-Allocate an extra runtime information slot statically while compiling
-the stylesheet and return its number</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>style</tt></i> :</span></td><td>  an XSLT stylesheet
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of the slot
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltAllocateExtraCtxt"></a>xsltAllocateExtraCtxt ()</h3><pre class="programlisting">int         xsltAllocateExtraCtxt           (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);</pre><p>
-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</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  an XSLT transformation context
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of the slot
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltCreateRVT"></a>xsltCreateRVT ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK>   xsltCreateRVT                   (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);</pre><p>
-Create a result value tree</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  an XSLT transformation context
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the result value tree or NULL in case of error
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltRegisterTmpRVT"></a>xsltRegisterTmpRVT ()</h3><pre class="programlisting">int         xsltRegisterTmpRVT              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> RVT);</pre><p>
-Register the result value tree for destruction at the end of the context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  an XSLT transformation context
-</td></tr><tr><td><span class="term"><i><tt>RVT</tt></i> :</span></td><td>  a result value tree
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success and -1 in case of error.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltRegisterPersistRVT"></a>xsltRegisterPersistRVT ()</h3><pre class="programlisting">int         xsltRegisterPersistRVT          (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt,
-                                             <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocPtr">xmlDocPtr</GTKDOCLINK> RVT);</pre><p>
-Register the result value tree for destruction at the end of the processing</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  an XSLT transformation context
-</td></tr><tr><td><span class="term"><i><tt>RVT</tt></i> :</span></td><td>  a result value tree
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success and -1 in case of error.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xsltFreeRVTs"></a>xsltFreeRVTs ()</h3><pre class="programlisting">void        xsltFreeRVTs                    (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt);</pre><p>
-Free all the registered result value tree of the transformation</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  an XSLT transformation context
-</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxslt-keys.html"><b>&lt;&lt; keys</b></a></td><td align="right"><a accesskey="n" href="libxslt-numbersInternals.html"><b>numbersInternals &gt;&gt;</b></a></td></tr></table></body></html>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
+TD {font-family: Verdana,Arial,Helvetica}
+BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
+H1 {font-family: Verdana,Arial,Helvetica}
+H2 {font-family: Verdana,Arial,Helvetica}
+H3 {font-family: Verdana,Arial,Helvetica}
+A:link, A:visited, A:active { text-decoration: underline }
+</style><style type="text/css">
+      div.deprecated pre.programlisting {border-style: double;border-color:red}
+      pre.programlisting {border-style: double}
+    </style><title>Module xsltInternals from libxslt</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="100"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="../Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xsltInternals from libxslt</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxslt-xslt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxslt-xslt.html">xslt</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">Home</a></th><th align="right"><a href="libxslt-xsltexports.html">xsltexports</a></th><td><a accesskey="n" href="libxslt-xsltexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>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. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CHECK_STOPPED">CHECK_STOPPED</a></pre><pre class="programlisting">#define <a href="#CHECK_STOPPED0">CHECK_STOPPED0</a></pre><pre class="programlisting">#define <a href="#CHECK_STOPPEDE">CHECK_STOPPEDE</a></pre><pre class="programlisting">#define <a href="#XSLT_MAX_SORT">XSLT_MAX_SORT</a></pre><pre class="programlisting">#define <a href="#XSLT_PAT_NO_PRIORITY">XSLT_PAT_NO_PRIORITY</a></pre><pre class="programlisting">#define <a href="#XSLT_RUNTIME_EXTRA">XSLT_RUNTIME_EXTRA</a></pre><pre class="programlisting">#define <a href="#XSLT_RUNTIME_EXTRA_FREE">XSLT_RUNTIME_EXTRA_FREE</a></pre><pre class="programlisting">#define <a href="#XSLT_RUNTIME_EXTRA_LST">XSLT_RUNTIME_EXTRA_LST</a></pre><pre class="programlisting">Structure <a href="#xsltDecimalFormat">xsltDecimalFormat</a><br />struct _xsltDecimalFormat
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltDecimalFormat">xsltDecimalFormat</a> * <a name="xsltDecimalFormatPtr" id="xsltDecimalFormatPtr">xsltDecimalFormatPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltDocument">xsltDocument</a><br />struct _xsltDocument
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltDocument">xsltDocument</a> * <a name="xsltDocumentPtr" id="xsltDocumentPtr">xsltDocumentPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltElemPreComp">xsltElemPreComp</a><br />struct _xsltElemPreComp
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltElemPreComp">xsltElemPreComp</a> * <a name="xsltElemPreCompPtr" id="xsltElemPreCompPtr">xsltElemPreCompPtr</a>
+</pre><pre class="programlisting">Enum <a href="#xsltOutputType">xsltOutputType</a>
+</pre><pre class="programlisting">Structure <a href="#xsltRuntimeExtra">xsltRuntimeExtra</a><br />struct _xsltRuntimeExtra
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltRuntimeExtra">xsltRuntimeExtra</a> * <a name="xsltRuntimeExtraPtr" id="xsltRuntimeExtraPtr">xsltRuntimeExtraPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltStackElem">xsltStackElem</a><br />struct _xsltStackElem
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltStackElem">xsltStackElem</a> * <a name="xsltStackElemPtr" id="xsltStackElemPtr">xsltStackElemPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltStylePreComp">xsltStylePreComp</a><br />struct _xsltStylePreComp
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltStylePreComp">xsltStylePreComp</a> * <a name="xsltStylePreCompPtr" id="xsltStylePreCompPtr">xsltStylePreCompPtr</a>
+</pre><pre class="programlisting">Enum <a href="#xsltStyleType">xsltStyleType</a>
+</pre><pre class="programlisting">Structure <a href="#xsltStylesheet">xsltStylesheet</a><br />struct _xsltStylesheet
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltStylesheet">xsltStylesheet</a> * <a name="xsltStylesheetPtr" id="xsltStylesheetPtr">xsltStylesheetPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltTemplate">xsltTemplate</a><br />struct _xsltTemplate
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltTemplate">xsltTemplate</a> * <a name="xsltTemplatePtr" id="xsltTemplatePtr">xsltTemplatePtr</a>
+</pre><pre class="programlisting">Structure <a href="#xsltTransformContext">xsltTransformContext</a><br />struct _xsltTransformContext
+</pre><pre class="programlisting">Typedef <a href="libxslt-xsltInternals.html#xsltTransformContext">xsltTransformContext</a> * <a name="xsltTransformContextPtr" id="xsltTransformContextPtr">xsltTransformContextPtr</a>
+</pre><pre class="programlisting">Enum <a href="#xsltTransformState">xsltTransformState</a>
+</pre><pre class="programlisting">int  <a href="#xsltAllocateExtra">xsltAllocateExtra</a>              (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)</pre>
+<pre class="programlisting">int        <a href="#xsltAllocateExtraCtxt">xsltAllocateExtraCtxt</a>              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
+<pre class="programlisting">xmlDocPtr  <a href="#xsltCreateRVT">xsltCreateRVT</a>              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> <a href="#xsltDecimalFormatGetByName">xsltDecimalFormatGetByName</a>    (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet, <br />                                                      xmlChar * name)</pre>
+<pre class="programlisting">Function type: <a href="#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a>
+void   <a href="#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a>    (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)
+</pre>
+<pre class="programlisting">xmlXPathError      <a href="#xsltFormatNumberConversion">xsltFormatNumberConversion</a>    (<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self, <br />                                                 xmlChar * format, <br />                                                double number, <br />                                           xmlChar ** result)</pre>
+<pre class="programlisting">void       <a href="#xsltFreeRVTs">xsltFreeRVTs</a>                        (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)</pre>
+<pre class="programlisting">void       <a href="#xsltFreeStackElemList">xsltFreeStackElemList</a>              (<a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem)</pre>
+<pre class="programlisting">void       <a href="#xsltFreeStylesheet">xsltFreeStylesheet</a>            (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet)</pre>
+<pre class="programlisting">int        <a href="#xsltIsBlank">xsltIsBlank</a>                  (xmlChar * str)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltLoadStylesheetPI">xsltLoadStylesheetPI</a>        (xmlDocPtr doc)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltNewStylesheet">xsltNewStylesheet</a>      (void)</pre>
+<pre class="programlisting">void       <a href="#xsltNumberFormat">xsltNumberFormat</a>                (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   <a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data, <br />                                    xmlNodePtr node)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltParseStylesheetDoc">xsltParseStylesheetDoc</a>    (xmlDocPtr doc)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltParseStylesheetFile">xsltParseStylesheetFile</a>  (const xmlChar * filename)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltParseStylesheetImportedDoc">xsltParseStylesheetImportedDoc</a>    (xmlDocPtr doc, <br />                                                   <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)</pre>
+<pre class="programlisting">void       <a href="#xsltParseStylesheetOutput">xsltParseStylesheetOutput</a>      (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />                                      xmlNodePtr cur)</pre>
+<pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       <a href="#xsltParseStylesheetProcess">xsltParseStylesheetProcess</a>    (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret, <br />                                                        xmlDocPtr doc)</pre>
+<pre class="programlisting">void       <a href="#xsltParseTemplateContent">xsltParseTemplateContent</a>        (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />                                      xmlNodePtr templ)</pre>
+<pre class="programlisting">int        <a href="#xsltRegisterPersistRVT">xsltRegisterPersistRVT</a>            (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlDocPtr RVT)</pre>
+<pre class="programlisting">int        <a href="#xsltRegisterTmpRVT">xsltRegisterTmpRVT</a>            (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlDocPtr RVT)</pre>
+<pre class="programlisting">Function type: <a href="#xsltSortFunc">xsltSortFunc</a>
+void   <a href="#xsltSortFunc">xsltSortFunc</a>                        (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlNodePtr * sorts, <br />                                      int nbsorts)
+</pre>
+<pre class="programlisting">Function type: <a href="#xsltTransformFunction">xsltTransformFunction</a>
+void   <a href="#xsltTransformFunction">xsltTransformFunction</a>              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlNodePtr node, <br />                                         xmlNodePtr inst, <br />                                         <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)
+</pre>
+<h2>Description</h2>
+<h3><a name="CHECK_STOPPED" id="CHECK_STOPPED"></a>Macro: CHECK_STOPPED</h3><pre>#define CHECK_STOPPED</pre><p>Macro to check if the XSLT processing should be stopped. Will return from the function.</p>
+<h3><a name="CHECK_STOPPED0" id="CHECK_STOPPED0"></a>Macro: CHECK_STOPPED0</h3><pre>#define CHECK_STOPPED0</pre><p>Macro to check if the XSLT processing should be stopped. Will return from the function with a 0 value.</p>
+<h3><a name="CHECK_STOPPEDE" id="CHECK_STOPPEDE"></a>Macro: CHECK_STOPPEDE</h3><pre>#define CHECK_STOPPEDE</pre><p>Macro to check if the XSLT processing should be stopped. Will goto the error: label.</p>
+<h3><a name="XSLT_MAX_SORT" id="XSLT_MAX_SORT"></a>Macro: XSLT_MAX_SORT</h3><pre>#define XSLT_MAX_SORT</pre><p>Max number of specified xsl:sort on an element.</p>
+<h3><a name="XSLT_PAT_NO_PRIORITY" id="XSLT_PAT_NO_PRIORITY"></a>Macro: XSLT_PAT_NO_PRIORITY</h3><pre>#define XSLT_PAT_NO_PRIORITY</pre><p>Specific value for pattern without priority expressed.</p>
+<h3><a name="XSLT_RUNTIME_EXTRA" id="XSLT_RUNTIME_EXTRA"></a>Macro: XSLT_RUNTIME_EXTRA</h3><pre>#define XSLT_RUNTIME_EXTRA</pre><p>Macro used to define extra information stored in the context</p>
+<h3><a name="XSLT_RUNTIME_EXTRA_FREE" id="XSLT_RUNTIME_EXTRA_FREE"></a>Macro: XSLT_RUNTIME_EXTRA_FREE</h3><pre>#define XSLT_RUNTIME_EXTRA_FREE</pre><p>Macro used to free extra information stored in the context</p>
+<h3><a name="XSLT_RUNTIME_EXTRA_LST" id="XSLT_RUNTIME_EXTRA_LST"></a>Macro: XSLT_RUNTIME_EXTRA_LST</h3><pre>#define XSLT_RUNTIME_EXTRA_LST</pre><p>Macro used to access extra information stored in the context</p>
+<h3><a name="xsltDecimalFormat" id="xsltDecimalFormat">Structure xsltDecimalFormat</a></h3><pre class="programlisting">Structure xsltDecimalFormat<br />struct _xsltDecimalFormat {
+    struct _xsltDecimalFormat *        next    : chained list
+    xmlChar *  name    : Used for interpretation of pattern
+    xmlChar *  digit
+    xmlChar *  patternSeparator        : May appear in result
+    xmlChar *  minusSign
+    xmlChar *  infinity
+    xmlChar *  noNumber        : Not-a-number Used for interpretation of
+    xmlChar *  decimalPoint
+    xmlChar *  grouping
+    xmlChar *  percent
+    xmlChar *  permille
+    xmlChar *  zeroDigit
+}</pre><h3><a name="xsltDocument" id="xsltDocument">Structure xsltDocument</a></h3><pre class="programlisting">Structure xsltDocument<br />struct _xsltDocument {
+    struct _xsltDocument *     next    : documents are kept in a chained list
+    int        main    : is this the main document
+    xmlDocPtr  doc     : the parsed document
+    void *     keys    : key tables storage
+    struct _xsltDocument *     includes        : subsidiary includes
+}</pre><h3><a name="xsltElemPreComp" id="xsltElemPreComp">Structure xsltElemPreComp</a></h3><pre class="programlisting">Structure xsltElemPreComp<br />struct _xsltElemPreComp {
+    <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a>     next    : chained list
+    <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a>       type    : type of the element
+    <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a>       func    : handling function
+    xmlNodePtr inst    : the instruction end of common part
+    <a href="libxslt-xsltInternals.html#xsltElemPreCompDeallocator">xsltElemPreCompDeallocator</a>     free    : the deallocator
+}</pre><h3>Enum <a name="xsltOutputType" id="xsltOutputType">xsltOutputType</a></h3><pre class="programlisting">Enum xsltOutputType {
+    <a name="XSLT_OUTPUT_XML" id="XSLT_OUTPUT_XML">XSLT_OUTPUT_XML</a> = 0
+    <a name="XSLT_OUTPUT_HTML" id="XSLT_OUTPUT_HTML">XSLT_OUTPUT_HTML</a> = 1
+    <a name="XSLT_OUTPUT_TEXT" id="XSLT_OUTPUT_TEXT">XSLT_OUTPUT_TEXT</a> = 2
+}
+</pre><h3><a name="xsltRuntimeExtra" id="xsltRuntimeExtra">Structure xsltRuntimeExtra</a></h3><pre class="programlisting">Structure xsltRuntimeExtra<br />struct _xsltRuntimeExtra {
+    void *     info    : pointer to the extra data
+    xmlFreeFunc        deallocate      : pointer to the deallocation routine
+    void *     val     : data not needing deallocation
+}</pre><h3><a name="xsltStackElem" id="xsltStackElem">Structure xsltStackElem</a></h3><pre class="programlisting">Structure xsltStackElem<br />struct _xsltStackElem {
+    struct _xsltStackElem *    next    : chained list
+    <a href="libxslt-xsltInternals.html#xsltStylePreCompPtr">xsltStylePreCompPtr</a>   comp    : the compiled form
+    int        computed        : was the evaluation done
+    xmlChar *  name    : the local part of the name QName
+    xmlChar *  nameURI : the URI part of the name QName
+    xmlChar *  select  : the eval string
+    xmlNodePtr tree    : the tree if no eval string or the locat
+    xmlXPathObjectPtr  value   : The value if computed
+}</pre><h3><a name="xsltStylePreComp" id="xsltStylePreComp">Structure xsltStylePreComp</a></h3><pre class="programlisting">Structure xsltStylePreComp<br />struct _xsltStylePreComp {
+    <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a>     next    : chained list
+    <a href="libxslt-xsltInternals.html#xsltStyleType">xsltStyleType</a>       type    : type of the element
+    <a href="libxslt-xsltInternals.html#xsltTransformFunction">xsltTransformFunction</a>       func    : handling function
+    xmlNodePtr inst    : * Pre computed values. *
+    xmlChar *  stype   : sort
+    int        has_stype       : sort
+    int        number  : sort
+    xmlChar *  order   : sort
+    int        has_order       : sort
+    int        descending      : sort
+    xmlChar *  lang    : sort
+    int        has_lang        : sort
+    xmlChar *  case_order      : sort
+    int        lower_first     : sort
+    xmlChar *  use     : copy, element
+    int        has_use : copy, element
+    int        noescape        : text
+    xmlChar *  name    : element, attribute, pi
+    int        has_name        : element, attribute, pi
+    xmlChar *  ns      : element
+    int        has_ns  : element
+    xmlChar *  mode    : apply-templates
+    xmlChar *  modeURI : apply-templates
+    xmlChar *  test    : if
+    <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a>   templ   : call-template
+    xmlChar *  select  : sort, copy-of, value-of, apply-template
+    int        ver11   : document
+    xmlChar *  filename        : document URL
+    int        has_filename    : document
+    <a href="libxslt-numbersInternals.html#xsltNumberData">xsltNumberData</a>  numdata : number
+    xmlXPathCompExprPtr        comp    : a precompiled XPath expression
+    xmlNsPtr * nsList  : the namespaces in scope
+    int        nsNr    : the number of namespaces in scope
+}</pre><h3>Enum <a name="xsltStyleType" id="xsltStyleType">xsltStyleType</a></h3><pre class="programlisting">Enum xsltStyleType {
+    <a name="XSLT_FUNC_COPY" id="XSLT_FUNC_COPY">XSLT_FUNC_COPY</a> = 1
+    <a name="XSLT_FUNC_SORT" id="XSLT_FUNC_SORT">XSLT_FUNC_SORT</a> = 2
+    <a name="XSLT_FUNC_TEXT" id="XSLT_FUNC_TEXT">XSLT_FUNC_TEXT</a> = 3
+    <a name="XSLT_FUNC_ELEMENT" id="XSLT_FUNC_ELEMENT">XSLT_FUNC_ELEMENT</a> = 4
+    <a name="XSLT_FUNC_ATTRIBUTE" id="XSLT_FUNC_ATTRIBUTE">XSLT_FUNC_ATTRIBUTE</a> = 5
+    <a name="XSLT_FUNC_COMMENT" id="XSLT_FUNC_COMMENT">XSLT_FUNC_COMMENT</a> = 6
+    <a name="XSLT_FUNC_PI" id="XSLT_FUNC_PI">XSLT_FUNC_PI</a> = 7
+    <a name="XSLT_FUNC_COPYOF" id="XSLT_FUNC_COPYOF">XSLT_FUNC_COPYOF</a> = 8
+    <a name="XSLT_FUNC_VALUEOF" id="XSLT_FUNC_VALUEOF">XSLT_FUNC_VALUEOF</a> = 9
+    <a name="XSLT_FUNC_NUMBER" id="XSLT_FUNC_NUMBER">XSLT_FUNC_NUMBER</a> = 10
+    <a name="XSLT_FUNC_APPLYIMPORTS" id="XSLT_FUNC_APPLYIMPORTS">XSLT_FUNC_APPLYIMPORTS</a> = 11
+    <a name="XSLT_FUNC_CALLTEMPLATE" id="XSLT_FUNC_CALLTEMPLATE">XSLT_FUNC_CALLTEMPLATE</a> = 12
+    <a name="XSLT_FUNC_APPLYTEMPLATES" id="XSLT_FUNC_APPLYTEMPLATES">XSLT_FUNC_APPLYTEMPLATES</a> = 13
+    <a name="XSLT_FUNC_CHOOSE" id="XSLT_FUNC_CHOOSE">XSLT_FUNC_CHOOSE</a> = 14
+    <a name="XSLT_FUNC_IF" id="XSLT_FUNC_IF">XSLT_FUNC_IF</a> = 15
+    <a name="XSLT_FUNC_FOREACH" id="XSLT_FUNC_FOREACH">XSLT_FUNC_FOREACH</a> = 16
+    <a name="XSLT_FUNC_DOCUMENT" id="XSLT_FUNC_DOCUMENT">XSLT_FUNC_DOCUMENT</a> = 17
+    <a name="XSLT_FUNC_WITHPARAM" id="XSLT_FUNC_WITHPARAM">XSLT_FUNC_WITHPARAM</a> = 18
+    <a name="XSLT_FUNC_PARAM" id="XSLT_FUNC_PARAM">XSLT_FUNC_PARAM</a> = 19
+    <a name="XSLT_FUNC_VARIABLE" id="XSLT_FUNC_VARIABLE">XSLT_FUNC_VARIABLE</a> = 20
+    <a name="XSLT_FUNC_WHEN" id="XSLT_FUNC_WHEN">XSLT_FUNC_WHEN</a> = 21
+    <a name="XSLT_FUNC_EXTENSION" id="XSLT_FUNC_EXTENSION">XSLT_FUNC_EXTENSION</a> = 22
+}
+</pre><h3><a name="xsltStylesheet" id="xsltStylesheet">Structure xsltStylesheet</a></h3><pre class="programlisting">Structure xsltStylesheet<br />struct _xsltStylesheet {
+    struct _xsltStylesheet *   parent
+    struct _xsltStylesheet *   next
+    struct _xsltStylesheet *   imports
+    <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>   docList : * General data on the style sheet docume
+    xmlDocPtr  doc     : the parsed XML stylesheet
+    xmlHashTablePtr    stripSpaces     : the hash table of the strip-space and p
+    int        stripAll        : strip-space * (1) preserve-space * (-1)
+    xmlHashTablePtr    cdataSection    : * Global variable or parameters. *
+    <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> variables       : * Template descriptions. *
+    <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a>   templates       : the ordered list of templates
+    void *     templatesHash   : hash table or wherever compiled templat
+    void *     rootMatch       : template based on /
+    void *     keyMatch        : template based on key()
+    void *     elemMatch       : template based on *
+    void *     attrMatch       : template based on @*
+    void *     parentMatch     : template based on ..
+    void *     textMatch       : template based on text()
+    void *     piMatch : template based on processing-instructio
+    void *     commentMatch    : * Namespace aliases. *
+    xmlHashTablePtr    nsAliases       : * Attribute sets. *
+    xmlHashTablePtr    attributeSets   : * Namespaces. *
+    xmlHashTablePtr    nsHash  : the set of namespaces in use
+    void *     nsDefs  : * Key definitions. *
+    void *     keys    : * Output related stuff. *
+    xmlChar *  method  : the output method
+    xmlChar *  methodURI       : associated namespace if any
+    xmlChar *  version : version string
+    xmlChar *  encoding        : encoding string
+    int        omitXmlDeclaration      : * Number formatting. *
+    <a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> decimalFormat
+    int        standalone      : standalone = &quot;yes&quot; | &quot;no&quot;
+    xmlChar *  doctypePublic   : doctype-public string
+    xmlChar *  doctypeSystem   : doctype-system string
+    int        indent  : should output being indented
+    xmlChar *  mediaType       : * Precomputed blocks. *
+    <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a>     preComps        : list of precomputed blocks
+    int        warnings        : number of warnings found at compilation
+    int        errors  : number of errors found at compilation
+    xmlChar *  exclPrefix      : last excluded prefixes
+    xmlChar ** exclPrefixTab   : array of excluded prefixes
+    int        exclPrefixNr    : number of excluded prefixes in scope
+    int        exclPrefixMax   : size of the array
+    void *     _private        : * Extensions. *
+    xmlHashTablePtr    extInfos        : the extension data
+    int        extrasNr        : * For keeping track of nested includes *
+    <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>   includes        : points to last nested include
+}</pre><h3><a name="xsltTemplate" id="xsltTemplate">Structure xsltTemplate</a></h3><pre class="programlisting">Structure xsltTemplate<br />struct _xsltTemplate {
+    struct _xsltTemplate *     next    : chained list sorted by priority
+    struct _xsltStylesheet *   style   : the containing stylesheet
+    xmlChar *  match   : the matching string
+    float      priority        : as given from the stylesheet, not compu
+    xmlChar *  name    : the local part of the name QName
+    xmlChar *  nameURI : the URI part of the name QName
+    xmlChar *  mode    : the local part of the mode QName
+    xmlChar *  modeURI : the URI part of the mode QName
+    xmlNodePtr content : the template replacement value
+    xmlNodePtr elem    : the source element
+    int        inheritedNsNr   : number of inherited namespaces
+    xmlNsPtr * inheritedNs     : inherited non-excluded namespaces Profi
+    int        nbCalls : the number of time the template was cal
+    unsigned long      time    : the time spent in this template
+}</pre><h3><a name="xsltTransformContext" id="xsltTransformContext">Structure xsltTransformContext</a></h3><pre class="programlisting">Structure xsltTransformContext<br />struct _xsltTransformContext {
+    <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       style   : the stylesheet used
+    <a href="libxslt-xsltInternals.html#xsltOutputType">xsltOutputType</a>     type    : the type of output
+    <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a>   templ   : the current template
+    int        templNr : Nb of templates in the stack
+    int        templMax        : Size of the templtes stack
+    <a href="libxslt-xsltInternals.html#xsltTemplatePtr">xsltTemplatePtr</a> * templTab        : the template stack
+    <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> vars    : the current variable list
+    int        varsNr  : Nb of variable list in the stack
+    int        varsMax : Size of the variable list stack
+    <a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> *       varsTab : the variable list stack
+    int        varsBase        : * Extensions *
+    xmlHashTablePtr    extFunctions    : the extension functions
+    xmlHashTablePtr    extElements     : the extension elements
+    xmlHashTablePtr    extInfos        : the extension data
+    const xmlChar *    mode    : the current mode
+    const xmlChar *    modeURI : the current mode URI
+    <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>   docList : the document list
+    <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>   document        : the current document
+    xmlNodePtr node    : the current node being processed
+    xmlNodeSetPtr      nodeList        : the current node list xmlNodePtr curren
+    xmlDocPtr  output  : the resulting document
+    xmlNodePtr insert  : the insertion node
+    xmlXPathContextPtr xpathCtxt       : the XPath context
+    <a href="libxslt-xsltInternals.html#xsltTransformState">xsltTransformState</a>     state   : * Global variables *
+    xmlHashTablePtr    globalVars      : the global variables and params
+    xmlNodePtr inst    : the instruction in the stylesheet
+    int        xinclude        : should XInclude be processed
+    const char *       outputFile      : the output URI if known
+    int        profile : is this run profiled
+    long       prof    : the current profiled value
+    int        profNr  : Nb of templates in the stack
+    int        profMax : Size of the templtaes stack
+    long *     profTab : the profile template stack
+    void *     _private        : user defined data
+    int        extrasNr        : the number of extras used
+    int        extrasMax       : the number of extras allocated
+    <a href="libxslt-xsltInternals.html#xsltRuntimeExtraPtr">xsltRuntimeExtraPtr</a>   extras  : extra per runtime informations
+    <a href="libxslt-xsltInternals.html#xsltDocumentPtr">xsltDocumentPtr</a>   styleList       : the stylesheet docs list
+    void *     sec     : the security preferences if any
+    xmlGenericErrorFunc        error   : a specific error handler
+    void *     errctx  : context for the error handler
+    <a href="libxslt-xsltInternals.html#xsltSortFunc">xsltSortFunc</a> sortfunc        : * handling of temporary Result Value Tre
+    xmlDocPtr  tmpRVT  : list of RVT without persistance
+    xmlDocPtr  persistRVT      : list of persistant RVTs
+    int        ctxtflags       : * Speed optimization when coalescing tex
+    const xmlChar *    lasttext        : last text node content
+    unsigned int       lasttsize       : last text node size
+    unsigned int       lasttuse        : * Per Context Debugging *
+    int        debugStatus     : the context level debug status
+    unsigned long *    traceCode       : pointer to the variable holding the mas
+}</pre><h3>Enum <a name="xsltTransformState" id="xsltTransformState">xsltTransformState</a></h3><pre class="programlisting">Enum xsltTransformState {
+    <a name="XSLT_STATE_OK" id="XSLT_STATE_OK">XSLT_STATE_OK</a> = 0
+    <a name="XSLT_STATE_ERROR" id="XSLT_STATE_ERROR">XSLT_STATE_ERROR</a> = 1
+    <a name="XSLT_STATE_STOPPED" id="XSLT_STATE_STOPPED">XSLT_STATE_STOPPED</a> = 2
+}
+</pre><h3><a name="xsltAllocateExtra" id="xsltAllocateExtra"></a>Function: xsltAllocateExtra</h3><pre class="programlisting">int       xsltAllocateExtra               (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br />
+</pre><p>Allocate an extra runtime information slot statically while compiling the stylesheet and return its number</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>an XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of the slot</td></tr></tbody></table></div><h3><a name="xsltAllocateExtraCtxt" id="xsltAllocateExtraCtxt"></a>Function: xsltAllocateExtraCtxt</h3><pre class="programlisting">int    xsltAllocateExtraCtxt           (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br />
+</pre><p>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</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of the slot</td></tr></tbody></table></div><h3><a name="xsltCreateRVT" id="xsltCreateRVT"></a>Function: xsltCreateRVT</h3><pre class="programlisting">xmlDocPtr   xsltCreateRVT           (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br />
+</pre><p>Create a result value tree</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the result value tree or NULL in case of error</td></tr></tbody></table></div><h3><a name="xsltDecimalFormatGetByName" id="xsltDecimalFormatGetByName"></a>Function: xsltDecimalFormatGetByName</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a>   xsltDecimalFormatGetByName      (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet, <br />                                                      xmlChar * name)<br />
+</pre><p>Find decimal-format by name</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sheet</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the decimal-format name to find</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a></td></tr></tbody></table></div><h3><a name="xsltElemPreCompDeallocator" id="xsltElemPreCompDeallocator"></a>Function type: xsltElemPreCompDeallocator</h3><pre class="programlisting">Function type: xsltElemPreCompDeallocator
+void   xsltElemPreCompDeallocator      (<a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)
+</pre><p>Deallocates an #xsltElemPreComp structure.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the #xsltElemPreComp to free up</td></tr></tbody></table></div><br />
+<h3><a name="xsltFormatNumberConversion" id="xsltFormatNumberConversion"></a>Function: xsltFormatNumberConversion</h3><pre class="programlisting">xmlXPathError        xsltFormatNumberConversion      (<a href="libxslt-xsltInternals.html#xsltDecimalFormatPtr">xsltDecimalFormatPtr</a> self, <br />                                                 xmlChar * format, <br />                                                double number, <br />                                           xmlChar ** result)<br />
+</pre><p>format-number() uses the JDK 1.1 DecimalFormat class: http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html Structure: pattern := subpattern{;subpattern} subpattern := {prefix}integer{.fraction}{suffix} prefix := '\\u0000'..'\\uFFFD' - specialCharacters suffix := '\\u0000'..'\\uFFFD' - specialCharacters integer := '#'* '0'* '0' fraction := '0'* '#'* Notation: X* 0 or more instances of X (X | Y) either X or Y. X..Y any character from X up to Y, inclusive. S - T characters in S, except those in T Special Characters: Symbol Meaning 0 a digit # a digit, zero shows as absent . placeholder for decimal separator , placeholder for grouping separator. ; separates formats. - default negative prefix. % multiply by 100 and show as percentage ? multiply by 1000 and show as per mille X any other characters can be used in the prefix or suffix ' used to quote special characters in a prefix or suffix.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>self</tt></i>:</span></td><td>the decimal format</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>the format requested</td></tr><tr><td><span class="term"><i><tt>number</tt></i>:</span></td><td>the value to format</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the place to ouput the result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a possible XPath error</td></tr></tbody></table></div><h3><a name="xsltFreeRVTs" id="xsltFreeRVTs"></a>Function: xsltFreeRVTs</h3><pre class="programlisting">void       xsltFreeRVTs                    (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt)<br />
+</pre><p>Free all the registered result value tree of the transformation</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr></tbody></table></div><h3><a name="xsltFreeStackElemList" id="xsltFreeStackElemList"></a>Function: xsltFreeStackElemList</h3><pre class="programlisting">void   xsltFreeStackElemList           (<a href="libxslt-xsltInternals.html#xsltStackElemPtr">xsltStackElemPtr</a> elem)<br />
+</pre><p>Free up the memory allocated by @elem</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an XSLT stack element</td></tr></tbody></table></div><h3><a name="xsltFreeStylesheet" id="xsltFreeStylesheet"></a>Function: xsltFreeStylesheet</h3><pre class="programlisting">void     xsltFreeStylesheet              (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> sheet)<br />
+</pre><p>Free up the memory allocated by @sheet</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sheet</tt></i>:</span></td><td>an XSLT stylesheet</td></tr></tbody></table></div><h3><a name="xsltIsBlank" id="xsltIsBlank"></a>Function: xsltIsBlank</h3><pre class="programlisting">int     xsltIsBlank                     (xmlChar * str)<br />
+</pre><p>Check if a string is ignorable</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the string is NULL or made of blanks chars, 0 otherwise</td></tr></tbody></table></div><h3><a name="xsltLoadStylesheetPI" id="xsltLoadStylesheetPI"></a>Function: xsltLoadStylesheetPI</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>    xsltLoadStylesheetPI    (xmlDocPtr doc)<br />
+</pre><p>This function tries to locate the stylesheet PI in the given document If found, and if contained within the document, it will extract that subtree to build the stylesheet to process @doc (doc itself will be modified). If found but referencing an external document it will attempt to load it and generate a stylesheet from it. In both cases, the resulting stylesheet and the document need to be freed once the transformation is done.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document to process</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet structure or NULL if not found.</td></tr></tbody></table></div><h3><a name="xsltNewStylesheet" id="xsltNewStylesheet"></a>Function: xsltNewStylesheet</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       xsltNewStylesheet       (void)<br />
+</pre><p>Create a new XSLT Stylesheet</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly allocated <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xsltNumberFormat" id="xsltNumberFormat"></a>Function: xsltNumberFormat</h3><pre class="programlisting">void    xsltNumberFormat                (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   <a href="libxslt-numbersInternals.html#xsltNumberDataPtr">xsltNumberDataPtr</a> data, <br />                                    xmlNodePtr node)<br />
+</pre><p>Convert one number.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the formatting informations</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the data to format</td></tr></tbody></table></div><h3><a name="xsltParseStylesheetDoc" id="xsltParseStylesheetDoc"></a>Function: xsltParseStylesheetDoc</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>      xsltParseStylesheetDoc  (xmlDocPtr doc)<br />
+</pre><p>parse an XSLT stylesheet building the associated structures</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>and xmlDoc parsed XML</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet structure.</td></tr></tbody></table></div><h3><a name="xsltParseStylesheetFile" id="xsltParseStylesheetFile"></a>Function: xsltParseStylesheetFile</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>  xsltParseStylesheetFile (const xmlChar * filename)<br />
+</pre><p>Load and parse an XSLT stylesheet</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename/URL to the stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet structure.</td></tr></tbody></table></div><h3><a name="xsltParseStylesheetImportedDoc" id="xsltParseStylesheetImportedDoc"></a>Function: xsltParseStylesheetImportedDoc</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>   xsltParseStylesheetImportedDoc  (xmlDocPtr doc, <br />                                                   <a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style)<br />
+</pre><p>parse an XSLT stylesheet building the associated structures except the processing not needed for imported documents.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an xmlDoc parsed XML</td></tr><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>pointer to parent stylesheet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new XSLT stylesheet structure.</td></tr></tbody></table></div><h3><a name="xsltParseStylesheetOutput" id="xsltParseStylesheetOutput"></a>Function: xsltParseStylesheetOutput</h3><pre class="programlisting">void      xsltParseStylesheetOutput       (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />                                      xmlNodePtr cur)<br />
+</pre><p>parse an XSLT stylesheet output element and record information related to the stylesheet output</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the &quot;output&quot; element</td></tr></tbody></table></div><h3><a name="xsltParseStylesheetProcess" id="xsltParseStylesheetProcess"></a>Function: xsltParseStylesheetProcess</h3><pre class="programlisting"><a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a>       xsltParseStylesheetProcess      (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> ret, <br />                                                        xmlDocPtr doc)<br />
+</pre><p>parse an XSLT stylesheet adding the associated structures</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ret</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>and xmlDoc parsed XML</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value of the 'ret' parameter if everything went right, NULL if something went amiss.</td></tr></tbody></table></div><h3><a name="xsltParseTemplateContent" id="xsltParseTemplateContent"></a>Function: xsltParseTemplateContent</h3><pre class="programlisting">void   xsltParseTemplateContent        (<a href="libxslt-xsltInternals.html#xsltStylesheetPtr">xsltStylesheetPtr</a> style, <br />                                      xmlNodePtr templ)<br />
+</pre><p>parse a template content-model Clean-up the template content from unwanted ignorable blank nodes and process xslt:text</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>style</tt></i>:</span></td><td>the XSLT stylesheet</td></tr><tr><td><span class="term"><i><tt>templ</tt></i>:</span></td><td>the container node (can be a document for literal results)</td></tr></tbody></table></div><h3><a name="xsltRegisterPersistRVT" id="xsltRegisterPersistRVT"></a>Function: xsltRegisterPersistRVT</h3><pre class="programlisting">int      xsltRegisterPersistRVT          (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlDocPtr RVT)<br />
+</pre><p>Register the result value tree for destruction at the end of the processing</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>RVT</tt></i>:</span></td><td>a result value tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xsltRegisterTmpRVT" id="xsltRegisterTmpRVT"></a>Function: xsltRegisterTmpRVT</h3><pre class="programlisting">int       xsltRegisterTmpRVT              (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlDocPtr RVT)<br />
+</pre><p>Register the result value tree for destruction at the end of the context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>RVT</tt></i>:</span></td><td>a result value tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xsltSortFunc" id="xsltSortFunc"></a>Function type: xsltSortFunc</h3><pre class="programlisting">Function type: xsltSortFunc
+void   xsltSortFunc                    (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlNodePtr * sorts, <br />                                      int nbsorts)
+</pre><p>Signature of the function to use during sorting</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a transformation context</td></tr><tr><td><span class="term"><i><tt>sorts</tt></i>:</span></td><td>the node-set to sort</td></tr><tr><td><span class="term"><i><tt>nbsorts</tt></i>:</span></td><td>the number of sorts</td></tr></tbody></table></div><br />
+<h3><a name="xsltTransformFunction" id="xsltTransformFunction"></a>Function type: xsltTransformFunction</h3><pre class="programlisting">Function type: xsltTransformFunction
+void   xsltTransformFunction           (<a href="libxslt-xsltInternals.html#xsltTransformContextPtr">xsltTransformContextPtr</a> ctxt, <br />                                   xmlNodePtr node, <br />                                         xmlNodePtr inst, <br />                                         <a href="libxslt-xsltInternals.html#xsltElemPreCompPtr">xsltElemPreCompPtr</a> comp)
+</pre><p>Signature of the function associated to elements part of the stylesheet language like xsl:if or xsl:apply-templates.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XSLT transformation context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the input node</td></tr><tr><td><span class="term"><i><tt>inst</tt></i>:</span></td><td>the stylesheet node</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled information from the stylesheet</td></tr></tbody></table></div><br />
+<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>