Eneboo - Documentación para desarrolladores
|
00001 /* 00002 * Summary: the XSLT engine transformation part. 00003 * Description: This module implements the bulk of the actual 00004 * transformation processing. Most of the xsl: element 00005 * constructs are implemented in this module. 00006 * 00007 * Copy: See Copyright for the status of this software. 00008 * 00009 * Author: Daniel Veillard 00010 */ 00011 00012 #ifndef __XML_XSLT_TRANSFORM_H__ 00013 #define __XML_XSLT_TRANSFORM_H__ 00014 00015 #include <libxml/parser.h> 00016 #include <libxml/xmlIO.h> 00017 #include "xsltexports.h" 00018 #include <libxslt/xsltInternals.h> 00019 00020 #ifdef __cplusplus 00021 extern "C" { 00022 #endif 00023 00027 XSLTPUBFUN void XSLTCALL 00028 xsltSetXIncludeDefault (int xinclude); 00029 XSLTPUBFUN int XSLTCALL 00030 xsltGetXIncludeDefault (void); 00031 00035 XSLTPUBFUN xsltTransformContextPtr XSLTCALL 00036 xsltNewTransformContext (xsltStylesheetPtr style, 00037 xmlDocPtr doc); 00038 00039 XSLTPUBFUN void XSLTCALL 00040 xsltFreeTransformContext(xsltTransformContextPtr ctxt); 00041 00042 XSLTPUBFUN xmlDocPtr XSLTCALL 00043 xsltApplyStylesheetUser (xsltStylesheetPtr style, 00044 xmlDocPtr doc, 00045 const char **params, 00046 const char *output, 00047 FILE * profile, 00048 xsltTransformContextPtr userCtxt); 00049 XSLTPUBFUN void XSLTCALL 00050 xsltProcessOneNode (xsltTransformContextPtr ctxt, 00051 xmlNodePtr node, 00052 xsltStackElemPtr params); 00056 XSLTPUBFUN void XSLTCALL 00057 xsltApplyStripSpaces (xsltTransformContextPtr ctxt, 00058 xmlNodePtr node); 00059 XSLTPUBFUN xmlDocPtr XSLTCALL 00060 xsltApplyStylesheet (xsltStylesheetPtr style, 00061 xmlDocPtr doc, 00062 const char **params); 00063 XSLTPUBFUN xmlDocPtr XSLTCALL 00064 xsltProfileStylesheet (xsltStylesheetPtr style, 00065 xmlDocPtr doc, 00066 const char **params, 00067 FILE * output); 00068 XSLTPUBFUN int XSLTCALL 00069 xsltRunStylesheet (xsltStylesheetPtr style, 00070 xmlDocPtr doc, 00071 const char **params, 00072 const char *output, 00073 xmlSAXHandlerPtr SAX, 00074 xmlOutputBufferPtr IObuf); 00075 XSLTPUBFUN int XSLTCALL 00076 xsltRunStylesheetUser (xsltStylesheetPtr style, 00077 xmlDocPtr doc, 00078 const char **params, 00079 const char *output, 00080 xmlSAXHandlerPtr SAX, 00081 xmlOutputBufferPtr IObuf, 00082 FILE * profile, 00083 xsltTransformContextPtr userCtxt); 00084 XSLTPUBFUN void XSLTCALL 00085 xsltApplyOneTemplate (xsltTransformContextPtr ctxt, 00086 xmlNodePtr node, 00087 xmlNodePtr list, 00088 xsltTemplatePtr templ, 00089 xsltStackElemPtr params); 00090 XSLTPUBFUN void XSLTCALL 00091 xsltDocumentElem (xsltTransformContextPtr ctxt, 00092 xmlNodePtr node, 00093 xmlNodePtr inst, 00094 xsltStylePreCompPtr comp); 00095 XSLTPUBFUN void XSLTCALL 00096 xsltSort (xsltTransformContextPtr ctxt, 00097 xmlNodePtr node, 00098 xmlNodePtr inst, 00099 xsltStylePreCompPtr comp); 00100 XSLTPUBFUN void XSLTCALL 00101 xsltCopy (xsltTransformContextPtr ctxt, 00102 xmlNodePtr node, 00103 xmlNodePtr inst, 00104 xsltStylePreCompPtr comp); 00105 XSLTPUBFUN void XSLTCALL 00106 xsltText (xsltTransformContextPtr ctxt, 00107 xmlNodePtr node, 00108 xmlNodePtr inst, 00109 xsltStylePreCompPtr comp); 00110 XSLTPUBFUN void XSLTCALL 00111 xsltElement (xsltTransformContextPtr ctxt, 00112 xmlNodePtr node, 00113 xmlNodePtr inst, 00114 xsltStylePreCompPtr comp); 00115 XSLTPUBFUN void XSLTCALL 00116 xsltComment (xsltTransformContextPtr ctxt, 00117 xmlNodePtr node, 00118 xmlNodePtr inst, 00119 xsltStylePreCompPtr comp); 00120 XSLTPUBFUN void XSLTCALL 00121 xsltAttribute (xsltTransformContextPtr ctxt, 00122 xmlNodePtr node, 00123 xmlNodePtr inst, 00124 xsltStylePreCompPtr comp); 00125 XSLTPUBFUN void XSLTCALL 00126 xsltProcessingInstruction(xsltTransformContextPtr ctxt, 00127 xmlNodePtr node, 00128 xmlNodePtr inst, 00129 xsltStylePreCompPtr comp); 00130 XSLTPUBFUN void XSLTCALL 00131 xsltCopyOf (xsltTransformContextPtr ctxt, 00132 xmlNodePtr node, 00133 xmlNodePtr inst, 00134 xsltStylePreCompPtr comp); 00135 XSLTPUBFUN void XSLTCALL 00136 xsltValueOf (xsltTransformContextPtr ctxt, 00137 xmlNodePtr node, 00138 xmlNodePtr inst, 00139 xsltStylePreCompPtr comp); 00140 XSLTPUBFUN void XSLTCALL 00141 xsltNumber (xsltTransformContextPtr ctxt, 00142 xmlNodePtr node, 00143 xmlNodePtr inst, 00144 xsltStylePreCompPtr comp); 00145 XSLTPUBFUN void XSLTCALL 00146 xsltApplyImports (xsltTransformContextPtr ctxt, 00147 xmlNodePtr node, 00148 xmlNodePtr inst, 00149 xsltStylePreCompPtr comp); 00150 XSLTPUBFUN void XSLTCALL 00151 xsltCallTemplate (xsltTransformContextPtr ctxt, 00152 xmlNodePtr node, 00153 xmlNodePtr inst, 00154 xsltStylePreCompPtr comp); 00155 XSLTPUBFUN void XSLTCALL 00156 xsltApplyTemplates (xsltTransformContextPtr ctxt, 00157 xmlNodePtr node, 00158 xmlNodePtr inst, 00159 xsltStylePreCompPtr comp); 00160 XSLTPUBFUN void XSLTCALL 00161 xsltChoose (xsltTransformContextPtr ctxt, 00162 xmlNodePtr node, 00163 xmlNodePtr inst, 00164 xsltStylePreCompPtr comp); 00165 XSLTPUBFUN void XSLTCALL 00166 xsltIf (xsltTransformContextPtr ctxt, 00167 xmlNodePtr node, 00168 xmlNodePtr inst, 00169 xsltStylePreCompPtr comp); 00170 XSLTPUBFUN void XSLTCALL 00171 xsltForEach (xsltTransformContextPtr ctxt, 00172 xmlNodePtr node, 00173 xmlNodePtr inst, 00174 xsltStylePreCompPtr comp); 00175 XSLTPUBFUN void XSLTCALL 00176 xsltRegisterAllElement (xsltTransformContextPtr ctxt); 00177 00178 XSLTPUBFUN xmlNodePtr XSLTCALL 00179 xsltCopyTextString (xsltTransformContextPtr ctxt, 00180 xmlNodePtr target, 00181 const xmlChar *string, 00182 int noescape); 00183 00184 /* Following 2 functions needed for libexslt/functions.c */ 00185 XSLTPUBFUN void XSLTCALL 00186 xsltLocalVariablePop (xsltTransformContextPtr ctxt, 00187 int limitNr, 00188 int level); 00189 XSLTPUBFUN int XSLTCALL 00190 xsltLocalVariablePush (xsltTransformContextPtr ctxt, 00191 xsltStackElemPtr variable, 00192 int level); 00193 /* 00194 * Hook for the debugger if activated. 00195 */ 00196 XSLTPUBFUN void XSLTCALL 00197 xslHandleDebugger (xmlNodePtr cur, 00198 xmlNodePtr node, 00199 xsltTemplatePtr templ, 00200 xsltTransformContextPtr ctxt); 00201 00202 #ifdef __cplusplus 00203 } 00204 #endif 00205 00206 #endif /* __XML_XSLT_TRANSFORM_H__ */ 00207