mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-06-16 21:40:58 +03:00
* configure.in libxslt/xsltwin32config.h: releaseing 1.0.0 * win32/libxslt/libxslt.def: added another entry point * libxslt/transform.c: fixed a comment block * doc/xslt.html doc/html/*: updated and regenerated the docs Daniel
2672 lines
42 KiB
HTML
2672 lines
42 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>xsltInternals</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><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
|
|
><<< 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 >>></B
|
|
></FONT
|
|
></A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><H1
|
|
><A
|
|
NAME="LIBXSLT-XSLTINTERNALS"
|
|
>xsltInternals</A
|
|
></H1
|
|
><DIV
|
|
CLASS="REFNAMEDIV"
|
|
><A
|
|
NAME="AEN3271"
|
|
></A
|
|
><H2
|
|
>Name</H2
|
|
>xsltInternals -- </DIV
|
|
><DIV
|
|
CLASS="REFSYNOPSISDIV"
|
|
><A
|
|
NAME="AEN3274"
|
|
></A
|
|
><H2
|
|
>Synopsis</H2
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#D6E8FF"
|
|
WIDTH="100%"
|
|
CELLPADDING="6"
|
|
><TR
|
|
><TD
|
|
><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#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#XSLTSTYLEPRECOMP"
|
|
>xsltStylePreComp</A
|
|
>;
|
|
typedef <A
|
|
HREF="libxslt-xsltinternals.html#XSLTSTYLEPRECOMPPTR"
|
|
>xsltStylePreCompPtr</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#XSLTSTYLEPRECOMPPTR"
|
|
>xsltStylePreCompPtr</A
|
|
> comp);
|
|
enum <A
|
|
HREF="libxslt-xsltinternals.html#XSLTSTYLETYPE"
|
|
>xsltStyleType</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,
|
|
<GTKDOCLINK
|
|
HREF="XSLTNUMBERDATAPTR"
|
|
>xsltNumberDataPtr</GTKDOCLINK
|
|
> 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);</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><DIV
|
|
CLASS="REFSECT1"
|
|
><A
|
|
NAME="AEN3342"
|
|
></A
|
|
><H2
|
|
>Description</H2
|
|
><P
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="REFSECT1"
|
|
><A
|
|
NAME="AEN3345"
|
|
></A
|
|
><H2
|
|
>Details</H2
|
|
><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3347"
|
|
></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 5</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Max number of specified xsl:sort on an element</P
|
|
><P
|
|
></P
|
|
></DIV
|
|
><HR><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3353"
|
|
></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="AEN3359"
|
|
></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="AEN3365"
|
|
></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="AEN3370"
|
|
></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="AEN3376"
|
|
></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="AEN3381"
|
|
></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="AEN3387"
|
|
></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="AEN3392"
|
|
></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 */
|
|
};</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></DIV
|
|
><HR><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3397"
|
|
></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="AEN3402"
|
|
></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 {
|
|
struct _xsltStylePreComp *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 *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="AEN3408"
|
|
></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="AEN3413"
|
|
></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#XSLTSTYLEPRECOMPPTR"
|
|
>xsltStylePreCompPtr</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="AEN3423"
|
|
></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
|
|
> :</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
|
|
> :</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
|
|
> :</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
|
|
> :</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="AEN3444"
|
|
></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
|
|
} xsltStyleType;</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></DIV
|
|
><HR><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3449"
|
|
></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="AEN3454"
|
|
></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="AEN3459"
|
|
></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
|
|
*/
|
|
xsltStylePreCompPtr 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 */
|
|
};</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></DIV
|
|
><HR><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3464"
|
|
></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="AEN3469"
|
|
></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="AEN3474"
|
|
></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="AEN3479"
|
|
></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->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="AEN3485"
|
|
></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->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="AEN3491"
|
|
></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->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="AEN3497"
|
|
></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="AEN3504"
|
|
></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"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3513"
|
|
></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="AEN3521"
|
|
></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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> the filename/URL to the stylesheet</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3534"
|
|
></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="AEN3542"
|
|
></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
|
|
> :</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="AEN3551"
|
|
></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="AEN3558"
|
|
></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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> a string</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3571"
|
|
></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="AEN3579"
|
|
></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
|
|
> :</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="AEN3588"
|
|
></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="AEN3597"
|
|
></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
|
|
> :</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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> the decimal-format name to find</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> </TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></DIV
|
|
></DIV
|
|
><HR><DIV
|
|
CLASS="REFSECT2"
|
|
><A
|
|
NAME="AEN3614"
|
|
></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="AEN3623"
|
|
></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
|
|
> :</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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> and xmlDoc parsed XML</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3640"
|
|
></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="AEN3648"
|
|
></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
|
|
> :</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
|
|
> :</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="AEN3661"
|
|
></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="AEN3669"
|
|
></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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> and xmlDoc parsed XML</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3682"
|
|
></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="AEN3691"
|
|
></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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> </TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</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="AEN3704"
|
|
></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,
|
|
<GTKDOCLINK
|
|
HREF="XSLTNUMBERDATAPTR"
|
|
>xsltNumberDataPtr</GTKDOCLINK
|
|
> data,
|
|
<GTKDOCLINK
|
|
HREF="XMLNODEPTR"
|
|
>xmlNodePtr</GTKDOCLINK
|
|
> node);</PRE
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Convert one number.</P
|
|
><P
|
|
></P
|
|
><DIV
|
|
CLASS="INFORMALTABLE"
|
|
><A
|
|
NAME="AEN3713"
|
|
></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
|
|
> :</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
|
|
> :</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
|
|
> :</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="AEN3730"
|
|
></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="AEN3748"
|
|
></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
|
|
> :</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
|
|
> :</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
|
|
> :</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
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> the place to ouput the result</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="RIGHT"
|
|
VALIGN="TOP"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>Returns</I
|
|
> :</TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
> </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
|
|
><<< 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 >>></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
|
|
> |