Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 5cf5310e41773715396d39a2a6c0a4d2 > files > 55

libxslt1-devel-1.0.27-1mdk.ppc.rpm

<HTML
><HEAD
><TITLE
>xsltInternals</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Gnome XSLT Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxslt Library Reference"
HREF="libxslt-lib.html"><LINK
REL="PREVIOUS"
TITLE="keys"
HREF="libxslt-keys.html"><LINK
REL="NEXT"
TITLE="numbersInternals"
HREF="libxslt-numbersinternals.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome XSLT Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxslt-keys.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxslt-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxslt-numbersinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXSLT-XSLTINTERNALS"
></A
>xsltInternals</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5306"
></A
><H2
>Name</H2
>xsltInternals&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5309"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;

#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
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> node,
                                             <GTKDOCLINK
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
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
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
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
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
HREF="XMLDOCPTR"
>xmlDocPtr</GTKDOCLINK
> doc);
void        <A
HREF="libxslt-xsltinternals.html#XSLTPARSESTYLESHEETOUTPUT"
>xsltParseStylesheetOutput</A
>       (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> cur);
<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> <A
HREF="libxslt-xsltinternals.html#XSLTPARSESTYLESHEETDOC"
>xsltParseStylesheetDoc</A
>    (<GTKDOCLINK
HREF="XMLDOCPTR"
>xmlDocPtr</GTKDOCLINK
> doc);
<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> <A
HREF="libxslt-xsltinternals.html#XSLTLOADSTYLESHEETPI"
>xsltLoadStylesheetPI</A
>      (<GTKDOCLINK
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
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> node);
<GTKDOCLINK
HREF="XMLXPATHERROR"
>xmlXPathError</GTKDOCLINK
> <A
HREF="libxslt-xsltinternals.html#XSLTFORMATNUMBERCONVERSION"
>xsltFormatNumberConversion</A
>    (<A
HREF="libxslt-xsltinternals.html#XSLTDECIMALFORMATPTR"
>xsltDecimalFormatPtr</A
> self,
                                             <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *format,
                                             <GTKDOCLINK
HREF="DOUBLE"
>double</GTKDOCLINK
> number,
                                             <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> **result);
void        <A
HREF="libxslt-xsltinternals.html#XSLTPARSETEMPLATECONTENT"
>xsltParseTemplateContent</A
>        (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             <GTKDOCLINK
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);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5396"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5399"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN5401"
></A
><H3
><A
NAME="XSLT-MAX-SORT-CAPS"
></A
>XSLT_MAX_SORT</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XSLT_MAX_SORT 15</PRE
></TD
></TR
></TABLE
><P
>Max number of specified xsl:sort on an element.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5407"
></A
><H3
><A
NAME="XSLT-PAT-NO-PRIORITY-CAPS"
></A
>XSLT_PAT_NO_PRIORITY</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XSLT_PAT_NO_PRIORITY -12345789</PRE
></TD
></TR
></TABLE
><P
>Specific value for pattern without priority expressed.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5413"
></A
><H3
><A
NAME="XSLTRUNTIMEEXTRA"
></A
>struct xsltRuntimeExtra</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>Extra information added to the transformation context.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5419"
></A
><H3
><A
NAME="XSLTRUNTIMEEXTRAPTR"
></A
>xsltRuntimeExtraPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5424"
></A
><H3
><A
NAME="XSLT-RUNTIME-EXTRA-LST-CAPS"
></A
>XSLT_RUNTIME_EXTRA_LST()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)-&gt;extras[(nr)].info</PRE
></TD
></TR
></TABLE
><P
>Macro used to access extra information stored in the context</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5430"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nr</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the index</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5443"
></A
><H3
><A
NAME="XSLT-RUNTIME-EXTRA-FREE-CAPS"
></A
>XSLT_RUNTIME_EXTRA_FREE()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)-&gt;extras[(nr)].deallocate</PRE
></TD
></TR
></TABLE
><P
>Macro used to free extra information stored in the context</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5449"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nr</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the index</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5462"
></A
><H3
><A
NAME="XSLT-RUNTIME-EXTRA-CAPS"
></A
>XSLT_RUNTIME_EXTRA()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define	XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)-&gt;extras[(nr)].val</PRE
></TD
></TR
></TABLE
><P
>Macro used to define extra information stored in the context</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5468"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nr</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the index</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5481"
></A
><H3
><A
NAME="XSLTTEMPLATE"
></A
>struct xsltTemplate</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>The in-memory structure corresponding to an XSLT Template.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5487"
></A
><H3
><A
NAME="XSLTTEMPLATEPTR"
></A
>xsltTemplatePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltTemplate *xsltTemplatePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5492"
></A
><H3
><A
NAME="XSLTDECIMALFORMAT"
></A
>struct xsltDecimalFormat</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>Data structure of decimal-format.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5498"
></A
><H3
><A
NAME="XSLTDECIMALFORMATPTR"
></A
>xsltDecimalFormatPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltDecimalFormat *xsltDecimalFormatPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5503"
></A
><H3
><A
NAME="XSLTDOCUMENT"
></A
>struct xsltDocument</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>Data structure associated to a parsed document.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5509"
></A
><H3
><A
NAME="XSLTDOCUMENTPTR"
></A
>xsltDocumentPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltDocument *xsltDocumentPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5514"
></A
><H3
><A
NAME="XSLTTRANSFORMCONTEXT"
></A
>struct xsltTransformContext</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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 */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5519"
></A
><H3
><A
NAME="XSLTTRANSFORMCONTEXTPTR"
></A
>xsltTransformContextPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltTransformContext *xsltTransformContextPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5524"
></A
><H3
><A
NAME="XSLTELEMPRECOMP"
></A
>struct xsltElemPreComp</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>The in-memory structure corresponding to element precomputed data,
designed to be extended by extension implementors.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5530"
></A
><H3
><A
NAME="XSLTELEMPRECOMPPTR"
></A
>xsltElemPreCompPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltElemPreComp *xsltElemPreCompPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5535"
></A
><H3
><A
NAME="XSLTTRANSFORMFUNCTION"
></A
>xsltTransformFunction ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        (*xsltTransformFunction)        (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> node,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> inst,
                                             <A
HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMPPTR"
>xsltElemPreCompPtr</A
> comp);</PRE
></TD
></TR
></TABLE
><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="INFORMALTABLE"
><A
NAME="AEN5545"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XSLT transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>node</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the input node</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inst</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the stylesheet node</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>comp</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the compiled information from the stylesheet</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5566"
></A
><H3
><A
NAME="XSLTSORTFUNC"
></A
>xsltSortFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        (*xsltSortFunc)                 (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> *sorts,
                                             int nbsorts);</PRE
></TD
></TR
></TABLE
><P
>Signature of the function to use during sorting</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5574"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    a transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sorts</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>   the node-set to sort</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nbsorts</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the number of sorts</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5591"
></A
><H3
><A
NAME="XSLTSTYLETYPE"
></A
>enum xsltStyleType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5596"
></A
><H3
><A
NAME="XSLTELEMPRECOMPDEALLOCATOR"
></A
>xsltElemPreCompDeallocator ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        (*xsltElemPreCompDeallocator)   (<A
HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMPPTR"
>xsltElemPreCompPtr</A
> comp);</PRE
></TD
></TR
></TABLE
><P
>Deallocates an <A
HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMP"
>xsltElemPreComp</A
> structure.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5604"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>comp</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the <A
HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMP"
>xsltElemPreComp</A
> to free up</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5614"
></A
><H3
><A
NAME="XSLTSTYLEPRECOMP"
></A
>struct xsltStylePreComp</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
>The in-memory structure corresponding to XSLT stylesheet constructs
precomputed data.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5620"
></A
><H3
><A
NAME="XSLTSTYLEPRECOMPPTR"
></A
>xsltStylePreCompPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltStylePreComp *xsltStylePreCompPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5625"
></A
><H3
><A
NAME="XSLTSTACKELEM"
></A
>struct xsltStackElem</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5630"
></A
><H3
><A
NAME="XSLTSTACKELEMPTR"
></A
>xsltStackElemPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltStackElem *xsltStackElemPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5635"
></A
><H3
><A
NAME="XSLTSTYLESHEET"
></A
>struct xsltStylesheet</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><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 = "yes" | "no" */

    /* 
     * Number formatting.
     */
    xsltDecimalFormatPtr decimalFormat;
    int standalone;             /* standalone = "yes" | "no" */
    xmlChar *doctypePublic;     /* doctype-public string */
    xmlChar *doctypeSystem;     /* doctype-system string */
    int indent;			/* should output being indented */
    xmlChar *mediaType;		/* 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
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5640"
></A
><H3
><A
NAME="XSLTSTYLESHEETPTR"
></A
>xsltStylesheetPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xsltStylesheet *xsltStylesheetPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5645"
></A
><H3
><A
NAME="XSLTOUTPUTTYPE"
></A
>enum xsltOutputType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
    XSLT_OUTPUT_XML = 0,
    XSLT_OUTPUT_HTML,
    XSLT_OUTPUT_TEXT
} xsltOutputType;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5650"
></A
><H3
><A
NAME="XSLTTRANSFORMSTATE"
></A
>enum xsltTransformState</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
    XSLT_STATE_OK = 0,
    XSLT_STATE_ERROR,
    XSLT_STATE_STOPPED
} xsltTransformState;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5655"
></A
><H3
><A
NAME="CHECK-STOPPED-CAPS"
></A
>CHECK_STOPPED</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define CHECK_STOPPED if (ctxt-&gt;state == XSLT_STATE_STOPPED) return;</PRE
></TD
></TR
></TABLE
><P
>Macro to check if the XSLT processing should be stopped.
Will return from the function.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5661"
></A
><H3
><A
NAME="CHECK-STOPPEDE-CAPS"
></A
>CHECK_STOPPEDE</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define CHECK_STOPPEDE if (ctxt-&gt;state == XSLT_STATE_STOPPED) goto error;</PRE
></TD
></TR
></TABLE
><P
>Macro to check if the XSLT processing should be stopped.
Will goto the error: label.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5667"
></A
><H3
><A
NAME="CHECK-STOPPED0-CAPS"
></A
>CHECK_STOPPED0</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define CHECK_STOPPED0 if (ctxt-&gt;state == XSLT_STATE_STOPPED) return(0);</PRE
></TD
></TR
></TABLE
><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><DIV
CLASS="REFSECT2"
><A
NAME="AEN5673"
></A
><H3
><A
NAME="XSLTNEWSTYLESHEET"
></A
>xsltNewStylesheet ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> xsltNewStylesheet         (void);</PRE
></TD
></TR
></TABLE
><P
>Create a new XSLT Stylesheet</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5680"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the newly allocated xsltStylesheetPtr or NULL in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5689"
></A
><H3
><A
NAME="XSLTPARSESTYLESHEETFILE"
></A
>xsltParseStylesheetFile ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> xsltParseStylesheetFile   (const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *filename);</PRE
></TD
></TR
></TABLE
><P
>Load and parse an XSLT stylesheet</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5697"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the filename/URL to the stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a new XSLT stylesheet structure.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5710"
></A
><H3
><A
NAME="XSLTFREESTYLESHEET"
></A
>xsltFreeStylesheet ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltFreeStylesheet              (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> sheet);</PRE
></TD
></TR
></TABLE
><P
>Free up the memory allocated by <TT
CLASS="PARAMETER"
><I
>sheet</I
></TT
></P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5718"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sheet</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT stylesheet</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5727"
></A
><H3
><A
NAME="XSLTISBLANK"
></A
>xsltIsBlank ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         xsltIsBlank                     (<GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *str);</PRE
></TD
></TR
></TABLE
><P
>Check if a string is ignorable</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5734"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if the string is NULL or made of blanks chars, 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5747"
></A
><H3
><A
NAME="XSLTFREESTACKELEMLIST"
></A
>xsltFreeStackElemList ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltFreeStackElemList           (<A
HREF="libxslt-xsltinternals.html#XSLTSTACKELEMPTR"
>xsltStackElemPtr</A
> elem);</PRE
></TD
></TR
></TABLE
><P
>Free up the memory allocated by <TT
CLASS="PARAMETER"
><I
>elem</I
></TT
></P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5755"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>elem</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT stack element</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5764"
></A
><H3
><A
NAME="XSLTDECIMALFORMATGETBYNAME"
></A
>xsltDecimalFormatGetByName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTDECIMALFORMATPTR"
>xsltDecimalFormatPtr</A
> xsltDecimalFormatGetByName
                                            (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> sheet,
                                             <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *name);</PRE
></TD
></TR
></TABLE
><P
>Find decimal-format by name</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5773"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>sheet</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the decimal-format name to find</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xsltDecimalFormatPtr</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5790"
></A
><H3
><A
NAME="XSLTPARSESTYLESHEETPROCESS"
></A
>xsltParseStylesheetProcess ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> xsltParseStylesheetProcess
                                            (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> ret,
                                             <GTKDOCLINK
HREF="XMLDOCPTR"
>xmlDocPtr</GTKDOCLINK
> doc);</PRE
></TD
></TR
></TABLE
><P
>parse an XSLT stylesheet adding the associated structures</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5799"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ret</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  and xmlDoc parsed XML</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the value of the 'ret' parameter if everything
went right, NULL if something went amiss.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5816"
></A
><H3
><A
NAME="XSLTPARSESTYLESHEETOUTPUT"
></A
>xsltParseStylesheetOutput ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltParseStylesheetOutput       (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> cur);</PRE
></TD
></TR
></TABLE
><P
>parse an XSLT stylesheet output element and record
information related to the stylesheet output</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5824"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>style</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the "output" element</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5837"
></A
><H3
><A
NAME="XSLTPARSESTYLESHEETDOC"
></A
>xsltParseStylesheetDoc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> xsltParseStylesheetDoc    (<GTKDOCLINK
HREF="XMLDOCPTR"
>xmlDocPtr</GTKDOCLINK
> doc);</PRE
></TD
></TR
></TABLE
><P
>parse an XSLT stylesheet building the associated structures</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5845"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  and xmlDoc parsed XML</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a new XSLT stylesheet structure.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5858"
></A
><H3
><A
NAME="XSLTLOADSTYLESHEETPI"
></A
>xsltLoadStylesheetPI ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> xsltLoadStylesheetPI      (<GTKDOCLINK
HREF="XMLDOCPTR"
>xmlDocPtr</GTKDOCLINK
> doc);</PRE
></TD
></TR
></TABLE
><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 <TT
CLASS="PARAMETER"
><I
>doc</I
></TT
> (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="INFORMALTABLE"
><A
NAME="AEN5867"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  a document to process</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a new XSLT stylesheet structure or NULL if not found.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5880"
></A
><H3
><A
NAME="XSLTNUMBERFORMAT"
></A
>xsltNumberFormat ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltNumberFormat                (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             <A
HREF="libxslt-numbersinternals.html#XSLTNUMBERDATAPTR"
>xsltNumberDataPtr</A
> data,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> node);</PRE
></TD
></TR
></TABLE
><P
>Convert one number.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5889"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XSLT transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>data</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the formatting informations</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>node</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the data to format</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5906"
></A
><H3
><A
NAME="XSLTFORMATNUMBERCONVERSION"
></A
>xsltFormatNumberConversion ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="XMLXPATHERROR"
>xmlXPathError</GTKDOCLINK
> xsltFormatNumberConversion    (<A
HREF="libxslt-xsltinternals.html#XSLTDECIMALFORMATPTR"
>xsltDecimalFormatPtr</A
> self,
                                             <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *format,
                                             <GTKDOCLINK
HREF="DOUBLE"
>double</GTKDOCLINK
> number,
                                             <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> **result);</PRE
></TD
></TR
></TABLE
><P
>format-<GTKDOCLINK
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="INFORMALTABLE"
><A
NAME="AEN5924"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>self</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the decimal format</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>format</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the format requested</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>number</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the value to format</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>result</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the place to ouput the result</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a possible XPath error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5949"
></A
><H3
><A
NAME="XSLTPARSETEMPLATECONTENT"
></A
>xsltParseTemplateContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltParseTemplateContent        (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> templ);</PRE
></TD
></TR
></TABLE
><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="INFORMALTABLE"
><A
NAME="AEN5957"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>style</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>templ</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the container node (can be a document for literal results)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5970"
></A
><H3
><A
NAME="XSLTALLOCATEEXTRA"
></A
>xsltAllocateExtra ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         xsltAllocateExtra               (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style);</PRE
></TD
></TR
></TABLE
><P
>Allocate an extra runtime information slot statically while compiling
the stylesheet and return its number</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5977"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>style</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of the slot</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5990"
></A
><H3
><A
NAME="XSLTALLOCATEEXTRACTXT"
></A
>xsltAllocateExtraCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         xsltAllocateExtraCtxt           (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><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="INFORMALTABLE"
><A
NAME="AEN5997"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of the slot</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxslt-keys.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxslt-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxslt-numbersinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>keys</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>numbersInternals</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>