codekingpro/portable-devtools
114k
1/*2 * Summary: the XSLT engine transformation part.3 * Description: This module implements the bulk of the actual4 * transformation processing. Most of the xsl: element5 * constructs are implemented in this module.6 *7 * Copy: See Copyright for the status of this software.8 *9 * Author: Daniel Veillard10 */11 12#ifndef __XML_XSLT_TRANSFORM_H__13#define __XML_XSLT_TRANSFORM_H__14 15#include <libxml/parser.h>16#include <libxml/xmlIO.h>17#include "xsltexports.h"18#include <libxslt/xsltInternals.h>19 20#ifdef __cplusplus21extern "C" {22#endif23 24/**25 * XInclude default processing.26 */27XSLTPUBFUN void XSLTCALL28 xsltSetXIncludeDefault (int xinclude);29XSLTPUBFUN int XSLTCALL30 xsltGetXIncludeDefault (void);31 32/**33 * Export context to users.34 */35XSLTPUBFUN xsltTransformContextPtr XSLTCALL36 xsltNewTransformContext (xsltStylesheetPtr style,37 xmlDocPtr doc);38 39XSLTPUBFUN void XSLTCALL40 xsltFreeTransformContext(xsltTransformContextPtr ctxt);41 42XSLTPUBFUN xmlDocPtr XSLTCALL43 xsltApplyStylesheetUser (xsltStylesheetPtr style,44 xmlDocPtr doc,45 const char **params,46 const char *output,47 FILE * profile,48 xsltTransformContextPtr userCtxt);49XSLTPUBFUN void XSLTCALL50 xsltProcessOneNode (xsltTransformContextPtr ctxt,51 xmlNodePtr node,52 xsltStackElemPtr params);53/**54 * Private Interfaces.55 */56XSLTPUBFUN void XSLTCALL57 xsltApplyStripSpaces (xsltTransformContextPtr ctxt,58 xmlNodePtr node);59XSLTPUBFUN xmlDocPtr XSLTCALL60 xsltApplyStylesheet (xsltStylesheetPtr style,61 xmlDocPtr doc,62 const char **params);63XSLTPUBFUN xmlDocPtr XSLTCALL64 xsltProfileStylesheet (xsltStylesheetPtr style,65 xmlDocPtr doc,66 const char **params,67 FILE * output);68XSLTPUBFUN int XSLTCALL69 xsltRunStylesheet (xsltStylesheetPtr style,70 xmlDocPtr doc,71 const char **params,72 const char *output,73 xmlSAXHandlerPtr SAX,74 xmlOutputBufferPtr IObuf);75XSLTPUBFUN int XSLTCALL76 xsltRunStylesheetUser (xsltStylesheetPtr style,77 xmlDocPtr doc,78 const char **params,79 const char *output,80 xmlSAXHandlerPtr SAX,81 xmlOutputBufferPtr IObuf,82 FILE * profile,83 xsltTransformContextPtr userCtxt);84XSLTPUBFUN void XSLTCALL85 xsltApplyOneTemplate (xsltTransformContextPtr ctxt,86 xmlNodePtr node,87 xmlNodePtr list,88 xsltTemplatePtr templ,89 xsltStackElemPtr params);90XSLTPUBFUN void XSLTCALL91 xsltDocumentElem (xsltTransformContextPtr ctxt,92 xmlNodePtr node,93 xmlNodePtr inst,94 xsltElemPreCompPtr comp);95XSLTPUBFUN void XSLTCALL96 xsltSort (xsltTransformContextPtr ctxt,97 xmlNodePtr node,98 xmlNodePtr inst,99 xsltElemPreCompPtr comp);100XSLTPUBFUN void XSLTCALL101 xsltCopy (xsltTransformContextPtr ctxt,102 xmlNodePtr node,103 xmlNodePtr inst,104 xsltElemPreCompPtr comp);105XSLTPUBFUN void XSLTCALL106 xsltText (xsltTransformContextPtr ctxt,107 xmlNodePtr node,108 xmlNodePtr inst,109 xsltElemPreCompPtr comp);110XSLTPUBFUN void XSLTCALL111 xsltElement (xsltTransformContextPtr ctxt,112 xmlNodePtr node,113 xmlNodePtr inst,114 xsltElemPreCompPtr comp);115XSLTPUBFUN void XSLTCALL116 xsltComment (xsltTransformContextPtr ctxt,117 xmlNodePtr node,118 xmlNodePtr inst,119 xsltElemPreCompPtr comp);120XSLTPUBFUN void XSLTCALL121 xsltAttribute (xsltTransformContextPtr ctxt,122 xmlNodePtr node,123 xmlNodePtr inst,124 xsltElemPreCompPtr comp);125XSLTPUBFUN void XSLTCALL126 xsltProcessingInstruction(xsltTransformContextPtr ctxt,127 xmlNodePtr node,128 xmlNodePtr inst,129 xsltElemPreCompPtr comp);130XSLTPUBFUN void XSLTCALL131 xsltCopyOf (xsltTransformContextPtr ctxt,132 xmlNodePtr node,133 xmlNodePtr inst,134 xsltElemPreCompPtr comp);135XSLTPUBFUN void XSLTCALL136 xsltValueOf (xsltTransformContextPtr ctxt,137 xmlNodePtr node,138 xmlNodePtr inst,139 xsltElemPreCompPtr comp);140XSLTPUBFUN void XSLTCALL141 xsltNumber (xsltTransformContextPtr ctxt,142 xmlNodePtr node,143 xmlNodePtr inst,144 xsltElemPreCompPtr comp);145XSLTPUBFUN void XSLTCALL146 xsltApplyImports (xsltTransformContextPtr ctxt,147 xmlNodePtr node,148 xmlNodePtr inst,149 xsltElemPreCompPtr comp);150XSLTPUBFUN void XSLTCALL151 xsltCallTemplate (xsltTransformContextPtr ctxt,152 xmlNodePtr node,153 xmlNodePtr inst,154 xsltElemPreCompPtr comp);155XSLTPUBFUN void XSLTCALL156 xsltApplyTemplates (xsltTransformContextPtr ctxt,157 xmlNodePtr node,158 xmlNodePtr inst,159 xsltElemPreCompPtr comp);160XSLTPUBFUN void XSLTCALL161 xsltChoose (xsltTransformContextPtr ctxt,162 xmlNodePtr node,163 xmlNodePtr inst,164 xsltElemPreCompPtr comp);165XSLTPUBFUN void XSLTCALL166 xsltIf (xsltTransformContextPtr ctxt,167 xmlNodePtr node,168 xmlNodePtr inst,169 xsltElemPreCompPtr comp);170XSLTPUBFUN void XSLTCALL171 xsltForEach (xsltTransformContextPtr ctxt,172 xmlNodePtr node,173 xmlNodePtr inst,174 xsltElemPreCompPtr comp);175XSLTPUBFUN void XSLTCALL176 xsltRegisterAllElement (xsltTransformContextPtr ctxt);177 178XSLTPUBFUN xmlNodePtr XSLTCALL179 xsltCopyTextString (xsltTransformContextPtr ctxt,180 xmlNodePtr target,181 const xmlChar *string,182 int noescape);183 184/* Following 2 functions needed for libexslt/functions.c */185XSLTPUBFUN void XSLTCALL186 xsltLocalVariablePop (xsltTransformContextPtr ctxt,187 int limitNr,188 int level);189XSLTPUBFUN int XSLTCALL190 xsltLocalVariablePush (xsltTransformContextPtr ctxt,191 xsltStackElemPtr variable,192 int level);193/*194 * Hook for the debugger if activated.195 */196XSLTPUBFUN void XSLTCALL197 xslHandleDebugger (xmlNodePtr cur,198 xmlNodePtr node,199 xsltTemplatePtr templ,200 xsltTransformContextPtr ctxt);201 202#ifdef __cplusplus203}204#endif205 206#endif /* __XML_XSLT_TRANSFORM_H__ */207 208 