LIBXSLT_DOTTED_VERSION
#define LIBXSLT_DOTTED_VERSION "1.1.0"
LIBXSLT_VERSION
#define LIBXSLT_VERSION 10100
LIBXSLT_VERSION_STRING
#define LIBXSLT_VERSION_STRING "10100"
WITH_XSLT_DEBUG
#define WITH_XSLT_DEBUG
DEBUG_MEMORY
#define DEBUG_MEMORY
DEBUG_MEMORY_LOCATION
#define DEBUG_MEMORY_LOCATION
XSLT_NEED_TRIO
#define XSLT_NEED_TRIO
XSLT_NEED_TRIO
#define XSLT_NEED_TRIO
WITH_DEBUGGER
#define WITH_DEBUGGER
ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED __attribute__((unused))
ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED
LIBXSLT_PUBLIC
#define LIBXSLT_PUBLIC __declspec(dllimport)
LIBXSLT_PUBLIC
#define LIBXSLT_PUBLIC
XSLT_LIBXSLT_NAMESPACE
#define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
XSLT_SAXON_NAMESPACE
#define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
XSLT_XT_NAMESPACE
#define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
XSLT_XALAN_NAMESPACE
#define XSLT_XALAN_NAMESPACE ((xmlChar *) \
"org.apache.xalan.xslt.extensions.Redirect")
XSLT_NORM_SAXON_NAMESPACE
#define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *) \
"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS")
xsltStyleExtInitFunction
void *
xsltStylesheetPtr style,
const xmlChar *URI
xsltStyleExtShutdownFunction
void
xsltStylesheetPtr style,
const xmlChar *URI,
void *data
xsltExtInitFunction
void *
xsltTransformContextPtr ctxt,
const xmlChar *URI
xsltExtShutdownFunction
void
xsltTransformContextPtr ctxt,
const xmlChar *URI,
void *data
xsltTopLevelFunction
void
xsltStylesheetPtr style,
xmlNodePtr inst
XSLT_REGISTER_FUNCTION_LOOKUP
#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \
xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \
(xmlXPathFuncLookupFunc) xsltXPathFunctionLookup, \
(void *)(ctxt->xpathCtxt));
XSLT_GET_IMPORT_PTR
#define XSLT_GET_IMPORT_PTR(res, style, name) { \
xsltStylesheetPtr st = style; \
res = NULL; \
while (st != NULL) { \
if (st->name != NULL) { res = st->name; break; } \
st = xsltNextImport(st); \
}}
XSLT_GET_IMPORT_INT
#define XSLT_GET_IMPORT_INT(res, style, name) { \
xsltStylesheetPtr st = style; \
res = -1; \
while (st != NULL) { \
if (st->name != -1) { res = st->name; break; } \
st = xsltNextImport(st); \
}}
LIBXSLT_PUBLIC
#define LIBXSLT_PUBLIC __declspec(dllimport)
LIBXSLT_PUBLIC
#define LIBXSLT_PUBLIC
xsltNumberData
xsltNumberDataPtr
typedef xsltNumberData *xsltNumberDataPtr;
xsltNumberData
struct xsltNumberData {
xmlChar *level;
xmlChar *count;
xmlChar *from;
xmlChar *value;
xmlChar *format;
int has_format;
int digitsPerGroup;
int groupingCharacter;
int groupingCharacterLen;
xmlDocPtr doc;
xmlNodePtr node;
/*
* accelerators
*/
};
xsltFormatNumberInfo
xsltFormatNumberInfoPtr
typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
xsltFormatNumberInfo
struct xsltFormatNumberInfo {
int integer_hash; /* Number of '#' in integer part */
int integer_digits; /* Number of '0' in integer part */
int frac_digits; /* Number of '0' in fractional part */
int frac_hash; /* Number of '#' in fractional part */
int group; /* Number of chars per display 'group' */
int multiplier; /* Scaling for percent or permille */
char add_decimal; /* Flag for whether decimal point appears in pattern */
char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
};
xsltCompMatch
xsltCompMatchPtr
typedef xsltCompMatch *xsltCompMatchPtr;
xsltMatchPattern
int
xsltTransformContextPtr ctxt,xmlNodePtr node,const xmlChar *pattern,xmlDocPtr ctxtdoc,xmlNodePtr ctxtnode
xsltExtMarker
extern const xmlChar *xsltExtMarker;
XSLT_REGISTER_VARIABLE_LOOKUP
#define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \
xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \
xsltXPathVariableLookup, (void *)(ctxt)); \
xsltRegisterAllFunctions((ctxt)->xpathCtxt); \
xsltRegisterAllElement(ctxt); \
(ctxt)->xpathCtxt->extra = ctxt
XSLT_DEFAULT_VERSION
#define XSLT_DEFAULT_VERSION "1.0"
XSLT_DEFAULT_VENDOR
#define XSLT_DEFAULT_VENDOR "libxslt"
XSLT_DEFAULT_URL
#define XSLT_DEFAULT_URL "http://xmlsoft.org/XSLT/"
XSLT_NAMESPACE
#define XSLT_NAMESPACE ((xmlChar *) "http://www.w3.org/1999/XSL/Transform")
XSLT_PARSE_OPTIONS
#define XSLT_PARSE_OPTIONS \
XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA
xsltMaxDepth
extern int xsltMaxDepth;
xsltMaxVars
extern int xsltMaxVars;
xsltEngineVersion
extern const char *xsltEngineVersion;
xsltLibxsltVersion
extern const int xsltLibxsltVersion;
xsltLibxmlVersion
extern const int xsltLibxmlVersion;
XSLT_TODO
#define XSLT_TODO \
xsltGenericError(xsltGenericErrorContext, \
"Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
XSLT_STRANGE
#define XSLT_STRANGE \
xsltGenericError(xsltGenericErrorContext, \
"Internal error at %s:%d\n", \
__FILE__, __LINE__);
IS_XSLT_ELEM
#define IS_XSLT_ELEM(n) \
(((n) != NULL) && ((n)->ns != NULL) && \
(xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
IS_XSLT_NAME
#define IS_XSLT_NAME(n, val) \
(xmlStrEqual((n)->name, (const xmlChar *) (val)))
IS_XSLT_REAL_NODE
#define IS_XSLT_REAL_NODE(n) \
(((n) != NULL) && \
(((n)->type == XML_ELEMENT_NODE) || \
((n)->type == XML_TEXT_NODE) || \
((n)->type == XML_ATTRIBUTE_NODE) || \
((n)->type == XML_DOCUMENT_NODE) || \
((n)->type == XML_HTML_DOCUMENT_NODE) || \
((n)->type == XML_PI_NODE)))
xsltDebugTraceCodes
typedef enum {
XSLT_TRACE_ALL = -1,
XSLT_TRACE_NONE = 0,
XSLT_TRACE_COPY_TEXT = 1<<0,
XSLT_TRACE_PROCESS_NODE = 1<<1,
XSLT_TRACE_APPLY_TEMPLATE = 1<<2,
XSLT_TRACE_COPY = 1<<3,
XSLT_TRACE_COMMENT = 1<<4,
XSLT_TRACE_PI = 1<<5,
XSLT_TRACE_COPY_OF = 1<<6,
XSLT_TRACE_VALUE_OF = 1<<7,
XSLT_TRACE_CALL_TEMPLATE = 1<<8,
XSLT_TRACE_APPLY_TEMPLATES = 1<<9,
XSLT_TRACE_CHOOSE = 1<<10,
XSLT_TRACE_IF = 1<<11,
XSLT_TRACE_FOR_EACH = 1<<12,
XSLT_TRACE_STRIP_SPACES = 1<<13,
XSLT_TRACE_TEMPLATES = 1<<14,
XSLT_TRACE_KEYS = 1<<15,
XSLT_TRACE_VARIABLES = 1<<16
} xsltDebugTraceCodes;
XSLT_TRACE
#define XSLT_TRACE(ctxt,code,call) \
if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \
call
xsltGenericError
extern xmlGenericErrorFunc xsltGenericError;
xsltGenericErrorContext
extern void *xsltGenericErrorContext;
xsltGenericDebug
extern xmlGenericErrorFunc xsltGenericDebug;
xsltGenericDebugContext
extern void *xsltGenericDebugContext;
XSLT_TIMESTAMP_TICS_PER_SEC
#define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
xsltDebugStatusCodes
typedef enum {
XSLT_DEBUG_NONE = 0, /* no debugging allowed */
XSLT_DEBUG_INIT,
XSLT_DEBUG_STEP,
XSLT_DEBUG_STEPOUT,
XSLT_DEBUG_NEXT,
XSLT_DEBUG_STOP,
XSLT_DEBUG_CONT,
XSLT_DEBUG_RUN,
XSLT_DEBUG_RUN_RESTART,
XSLT_DEBUG_QUIT
} xsltDebugStatusCodes;
xslDebugStatus
extern int xslDebugStatus;
xsltHandleDebuggerCallback
void
xmlNodePtr cur, xmlNodePtr node,
xsltTemplatePtr templ, xsltTransformContextPtr ctxt
xsltAddCallCallback
int
xsltTemplatePtr templ, xmlNodePtr source
xsltDropCallCallback
void
void
LIBXSLT_DOTTED_VERSION
#define LIBXSLT_DOTTED_VERSION "1.1.0"
LIBXSLT_VERSION
#define LIBXSLT_VERSION 10100
LIBXSLT_VERSION_STRING
#define LIBXSLT_VERSION_STRING "10100"
WITH_XSLT_DEBUG
#define WITH_XSLT_DEBUG
DEBUG_MEMORY
#define DEBUG_MEMORY
DEBUG_MEMORY_LOCATION
#define DEBUG_MEMORY_LOCATION
ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED
TRIO_ERROR_CODE
#define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF)
TRIO_ERROR_POSITION
#define TRIO_ERROR_POSITION(x) ((-(x)) >> 8)
TRIO_ERROR_NAME
#define TRIO_ERROR_NAME(x) trio_strerror(x)
int))
typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int));
TRIO_PROTO((trio_pointer_t))
typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t));
printf
# define printf trio_printf
vprintf
# define vprintf trio_vprintf
fprintf
# define fprintf trio_fprintf
vfprintf
# define vfprintf trio_vfprintf
sprintf
# define sprintf trio_sprintf
vsprintf
# define vsprintf trio_vsprintf
snprintf
# define snprintf trio_snprintf
vsnprintf
# define vsnprintf trio_vsnprintf
scanf
# define scanf trio_scanf
vscanf
# define vscanf trio_vscanf
fscanf
# define fscanf trio_fscanf
vfscanf
# define vfscanf trio_vfscanf
sscanf
# define sscanf trio_sscanf
vsscanf
# define vsscanf trio_vsscanf
dprintf
#define dprintf trio_dprintf
vdprintf
#define vdprintf trio_vdprintf
aprintf
#define aprintf trio_aprintf
vaprintf
#define vaprintf trio_vaprintf
asprintf
#define asprintf trio_asprintf
vasprintf
#define vasprintf trio_vasprintf
dscanf
#define dscanf trio_dscanf
vdscanf
#define vdscanf trio_vdscanf
XSLT_MAX_SORT
#define XSLT_MAX_SORT 15
XSLT_PAT_NO_PRIORITY
#define XSLT_PAT_NO_PRIORITY -12345789
xsltRuntimeExtra
xsltRuntimeExtraPtr
typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;
xsltRuntimeExtra
struct xsltRuntimeExtra {
void *info; /* pointer to the extra data */
xmlFreeFunc deallocate; /* pointer to the deallocation routine */
void *val; /* data not needing deallocation */
};
XSLT_RUNTIME_EXTRA_LST
#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
XSLT_RUNTIME_EXTRA_FREE
#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
XSLT_RUNTIME_EXTRA
#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].val
xsltTemplate
xsltTemplatePtr
typedef xsltTemplate *xsltTemplatePtr;
xsltTemplate
struct xsltTemplate {
struct _xsltTemplate *next;/* chained list sorted by priority */
struct _xsltStylesheet *style;/* the containing stylesheet */
xmlChar *match; /* the matching string */
float priority; /* as given from the stylesheet, not 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 */
};
xsltDecimalFormat
xsltDecimalFormatPtr
typedef xsltDecimalFormat *xsltDecimalFormatPtr;
xsltDecimalFormat
struct xsltDecimalFormat {
struct _xsltDecimalFormat *next; /* chained list */
xmlChar *name;
/* Used for interpretation of pattern */
xmlChar *digit;
xmlChar *patternSeparator;
/* May appear in result */
xmlChar *minusSign;
xmlChar *infinity;
xmlChar *noNumber; /* Not-a-number */
/* Used for interpretation of pattern and may appear in result */
xmlChar *decimalPoint;
xmlChar *grouping;
xmlChar *percent;
xmlChar *permille;
xmlChar *zeroDigit;
};
xsltDocument
xsltDocumentPtr
typedef xsltDocument *xsltDocumentPtr;
xsltDocument
struct xsltDocument {
struct _xsltDocument *next; /* documents are kept in a chained list */
int main; /* is this the main document */
xmlDocPtr doc; /* the parsed document */
void *keys; /* key tables storage */
struct _xsltDocument *includes; /* subsidiary includes */
};
xsltTransformContext
xsltTransformContextPtr
typedef xsltTransformContext *xsltTransformContextPtr;
xsltElemPreComp
xsltElemPreCompPtr
typedef xsltElemPreComp *xsltElemPreCompPtr;
xsltTransformFunction
void
xsltTransformContextPtr ctxt,
xmlNodePtr node,
xmlNodePtr inst,
xsltElemPreCompPtr comp
xsltSortFunc
void
xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
int nbsorts
xsltStyleType
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;
xsltElemPreCompDeallocator
void
xsltElemPreCompPtr comp
xsltElemPreComp
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 */
};
xsltStylePreComp
xsltStylePreCompPtr
typedef xsltStylePreComp *xsltStylePreCompPtr;
xsltStylePreComp
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 */
};
xsltStackElem
xsltStackElemPtr
typedef xsltStackElem *xsltStackElemPtr;
xsltStackElem
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 */
};
xsltStylesheet
xsltStylesheetPtr
typedef xsltStylesheet *xsltStylesheetPtr;
xsltStylesheet
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 */
/*
* For keeping track of nested includes
*/
xsltDocumentPtr includes; /* points to last nested include */
};
xsltOutputType
typedef enum {
XSLT_OUTPUT_XML = 0,
XSLT_OUTPUT_HTML,
XSLT_OUTPUT_TEXT
} xsltOutputType;
xsltTransformState
typedef enum {
XSLT_STATE_OK = 0,
XSLT_STATE_ERROR,
XSLT_STATE_STOPPED
} xsltTransformState;
xsltTransformContext
struct xsltTransformContext {
xsltStylesheetPtr style; /* the stylesheet used */
xsltOutputType type; /* the type of output */
xsltTemplatePtr templ; /* the current template */
int templNr; /* Nb of templates in the stack */
int templMax; /* Size of the templtes stack */
xsltTemplatePtr *templTab; /* the template stack */
xsltStackElemPtr vars; /* the current variable list */
int varsNr; /* Nb of variable list in the stack */
int varsMax; /* Size of the variable list stack */
xsltStackElemPtr *varsTab; /* the variable list stack */
int varsBase; /* the var base for current templ */
/*
* Extensions
*/
xmlHashTablePtr extFunctions; /* the extension functions */
xmlHashTablePtr extElements; /* the extension elements */
xmlHashTablePtr extInfos; /* the extension data */
const xmlChar *mode; /* the current mode */
const xmlChar *modeURI; /* the current mode URI */
xsltDocumentPtr docList; /* the document list */
xsltDocumentPtr document; /* the current document */
xmlNodePtr node; /* the current node being processed */
xmlNodeSetPtr nodeList; /* the current node list */
/* xmlNodePtr current; the node */
xmlDocPtr output; /* the resulting document */
xmlNodePtr insert; /* the insertion node */
xmlXPathContextPtr xpathCtxt; /* the XPath context */
xsltTransformState state; /* the current state */
/*
* Global variables
*/
xmlHashTablePtr globalVars; /* the global variables and params */
xmlNodePtr inst; /* the instruction in the stylesheet */
int xinclude; /* should XInclude be processed */
const char * outputFile; /* the output URI if known */
int profile; /* is this run profiled */
long prof; /* the current profiled value */
int profNr; /* Nb of templates in the stack */
int profMax; /* Size of the templtaes stack */
long *profTab; /* the profile template stack */
void *_private; /* user defined data */
int extrasNr; /* the number of extras used */
int extrasMax; /* the number of extras allocated */
xsltRuntimeExtraPtr extras; /* extra per runtime informations */
xsltDocumentPtr styleList; /* the stylesheet docs list */
void * sec; /* the security preferences if any */
xmlGenericErrorFunc error; /* a specific error handler */
void * errctx; /* context for the error handler */
xsltSortFunc sortfunc; /* a ctxt specific sort routine */
/*
* handling of temporary Result Value Tree
*/
xmlDocPtr tmpRVT; /* list of RVT without persistance */
xmlDocPtr persistRVT; /* list of persistant RVTs */
int ctxtflags; /* context processing flags */
/*
* Speed optimization when coalescing text nodes
*/
const xmlChar *lasttext; /* last text node content */
unsigned int lasttsize; /* last text node size */
unsigned int lasttuse; /* last text node use */
/*
* Per Context Debugging
*/
int debugStatus; /* the context level debug status */
unsigned long* traceCode; /* pointer to the variable holding the mask */
};
CHECK_STOPPED
#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return;
CHECK_STOPPEDE
#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error;
CHECK_STOPPED0
#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0);
TRIO_COMPILER_GCC
# define TRIO_COMPILER_GCC
TRIO_COMPILER_SUNPRO
# define TRIO_COMPILER_SUNPRO
TRIO_COMPILER_SUNPRO
# define TRIO_COMPILER_SUNPRO
TRIO_COMPILER_XLC
# define TRIO_COMPILER_XLC
TRIO_COMPILER_XLC
# define TRIO_COMPILER_XLC /* Workaround for old xlc */
TRIO_COMPILER_DECC
# define TRIO_COMPILER_DECC
TRIO_COMPILER_DECC
# define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */
TRIO_COMPILER_MSVC
# define TRIO_COMPILER_MSVC
TRIO_COMPILER_BCB
# define TRIO_COMPILER_BCB
TRIO_PLATFORM_VMS
# define TRIO_PLATFORM_VMS
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_QNX
# define TRIO_PLATFORM_QNX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_UNIX
# define TRIO_PLATFORM_UNIX
TRIO_PLATFORM_WIN32
# define TRIO_PLATFORM_WIN32
TRIO_PLATFORM_MPEIX
# define TRIO_PLATFORM_MPEIX
TRIO_PLATFORM_AIX
# define TRIO_PLATFORM_AIX
TRIO_PLATFORM_HPUX
# define TRIO_PLATFORM_HPUX
TRIO_PLATFORM_SOLARIS
# define TRIO_PLATFORM_SOLARIS
TRIO_PLATFORM_SUNOS
# define TRIO_PLATFORM_SUNOS
TRIO_COMPILER_SUPPORTS_C89
# define TRIO_COMPILER_SUPPORTS_C89
TRIO_COMPILER_SUPPORTS_C90
# define TRIO_COMPILER_SUPPORTS_C90
TRIO_COMPILER_SUPPORTS_C94
# define TRIO_COMPILER_SUPPORTS_C94
TRIO_COMPILER_SUPPORTS_C99
# define TRIO_COMPILER_SUPPORTS_C99
TRIO_COMPILER_SUPPORTS_C94
# define TRIO_COMPILER_SUPPORTS_C94
TRIO_COMPILER_SUPPORTS_UNIX95
# define TRIO_COMPILER_SUPPORTS_UNIX95
TRIO_COMPILER_SUPPORTS_UNIX98
# define TRIO_COMPILER_SUPPORTS_UNIX98
TRIO_COMPILER_SUPPORTS_UNIX01
# define TRIO_COMPILER_SUPPORTS_UNIX01
TRIO_PUBLIC
# define TRIO_PUBLIC
TRIO_PRIVATE
# define TRIO_PRIVATE static
TRIO_COMPILER_ANCIENT
# define TRIO_COMPILER_ANCIENT
TRIO_CONST
# define TRIO_CONST
TRIO_VOLATILE
# define TRIO_VOLATILE
TRIO_SIGNED
# define TRIO_SIGNED
trio_long_double_t
typedef double trio_long_double_t;
trio_pointer_t
typedef char * trio_pointer_t;
TRIO_SUFFIX_LONG
# define TRIO_SUFFIX_LONG(x) x
TRIO_PROTO
# define TRIO_PROTO(x) ()
TRIO_NOARGS
# define TRIO_NOARGS
TRIO_ARGS1
# define TRIO_ARGS1(list,a1) list a1;
TRIO_ARGS2
# define TRIO_ARGS2(list,a1,a2) list a1; a2;
TRIO_ARGS3
# define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3;
TRIO_ARGS4
# define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4;
TRIO_ARGS5
# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5;
TRIO_ARGS6
# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6;
TRIO_VARGS2
# define TRIO_VARGS2(list,a1,a2) list a1; a2
TRIO_VARGS3
# define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3
TRIO_VARGS4
# define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4
TRIO_VARGS5
# define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5
TRIO_VA_DECL
# define TRIO_VA_DECL va_dcl
TRIO_VA_START
# define TRIO_VA_START(x,y) va_start(x)
TRIO_VA_END
# define TRIO_VA_END(x) va_end(x)
TRIO_CONST
# define TRIO_CONST const
TRIO_VOLATILE
# define TRIO_VOLATILE volatile
TRIO_SIGNED
# define TRIO_SIGNED signed
trio_long_double_t
typedef long double trio_long_double_t;
trio_pointer_t
typedef void * trio_pointer_t;
TRIO_SUFFIX_LONG
# define TRIO_SUFFIX_LONG(x) x ## L
TRIO_PROTO
# define TRIO_PROTO(x) x
TRIO_NOARGS
# define TRIO_NOARGS void
TRIO_ARGS1
# define TRIO_ARGS1(list,a1) (a1)
TRIO_ARGS2
# define TRIO_ARGS2(list,a1,a2) (a1,a2)
TRIO_ARGS3
# define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3)
TRIO_ARGS4
# define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4)
TRIO_ARGS5
# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5)
TRIO_ARGS6
# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6)
TRIO_VARGS2
# define TRIO_VARGS2 TRIO_ARGS2
TRIO_VARGS3
# define TRIO_VARGS3 TRIO_ARGS3
TRIO_VARGS4
# define TRIO_VARGS4 TRIO_ARGS4
TRIO_VARGS5
# define TRIO_VARGS5 TRIO_ARGS5
TRIO_VA_DECL
# define TRIO_VA_DECL ...
TRIO_VA_START
# define TRIO_VA_START(x,y) va_start(x,y)
TRIO_VA_END
# define TRIO_VA_END(x) va_end(x)
TRIO_INLINE
# define TRIO_INLINE inline
TRIO_INLINE
# define TRIO_INLINE __inline__
TRIO_INLINE
# define TRIO_INLINE _inline
TRIO_INLINE
# define TRIO_INLINE __inline
TRIO_INLINE
# define TRIO_INLINE
TRIO_COMPILER_SUPPORTS_LL
# define TRIO_COMPILER_SUPPORTS_LL
xsltSecurityPrefs
xsltSecurityPrefsPtr
typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
xsltSecurityOption
typedef enum {
XSLT_SECPREF_READ_FILE = 1,
XSLT_SECPREF_WRITE_FILE,
XSLT_SECPREF_CREATE_DIRECTORY,
XSLT_SECPREF_READ_NETWORK,
XSLT_SECPREF_WRITE_NETWORK
} xsltSecurityOption;
xsltSecurityCheck
int
xsltSecurityPrefsPtr sec,
xsltTransformContextPtr ctxt,
const char *value
XSLTPUBFUN
#define XSLTPUBFUN
XSLTPUBVAR
#define XSLTPUBVAR extern
XSLTCALL
#define XSLTCALL
XSLTPUBFUN
#define XSLTPUBFUN __declspec(dllexport)
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllexport)
XSLTPUBFUN
#define XSLTPUBFUN
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllimport) extern
XSLTPUBVAR
#define XSLTPUBVAR extern
XSLTCALL
#define XSLTCALL __cdecl
XSLTPUBFUN
#define XSLTPUBFUN __declspec(dllexport)
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllexport) extern
XSLTPUBFUN
#define XSLTPUBFUN
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllimport) extern
XSLTPUBVAR
#define XSLTPUBVAR extern
XSLTCALL
#define XSLTCALL __cdecl
XSLTPUBFUN
#define XSLTPUBFUN __declspec(dllexport)
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllexport)
XSLTPUBFUN
#define XSLTPUBFUN
XSLTPUBVAR
#define XSLTPUBVAR __declspec(dllimport) extern
XSLTPUBVAR
#define XSLTPUBVAR
XSLTCALL
#define XSLTCALL __cdecl
LIBXSLT_PUBLIC
#define LIBXSLT_PUBLIC XSLTPUBVAR