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