1 | /* |
2 | * Summary: the XSLT engine transformation part. |
3 | * Description: This module implements the bulk of the actual |
4 | * transformation processing. Most of the xsl: element |
5 | * constructs are implemented in this module. |
6 | * |
7 | * Copy: See Copyright for the status of this software. |
8 | * |
9 | * Author: Daniel Veillard |
10 | */ |
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 __cplusplus |
21 | extern "C" { |
22 | #endif |
23 | |
24 | /** |
25 | * XInclude default processing. |
26 | */ |
27 | XSLTPUBFUN void XSLTCALL |
28 | xsltSetXIncludeDefault (int xinclude); |
29 | XSLTPUBFUN int XSLTCALL |
30 | xsltGetXIncludeDefault (void); |
31 | |
32 | /** |
33 | * Export context to users. |
34 | */ |
35 | XSLTPUBFUN xsltTransformContextPtr XSLTCALL |
36 | xsltNewTransformContext (xsltStylesheetPtr style, |
37 | xmlDocPtr doc); |
38 | |
39 | XSLTPUBFUN void XSLTCALL |
40 | xsltFreeTransformContext(xsltTransformContextPtr ctxt); |
41 | |
42 | XSLTPUBFUN xmlDocPtr XSLTCALL |
43 | xsltApplyStylesheetUser (xsltStylesheetPtr style, |
44 | xmlDocPtr doc, |
45 | const char **params, |
46 | const char *output, |
47 | FILE * profile, |
48 | xsltTransformContextPtr userCtxt); |
49 | XSLTPUBFUN void XSLTCALL |
50 | xsltProcessOneNode (xsltTransformContextPtr ctxt, |
51 | xmlNodePtr node, |
52 | xsltStackElemPtr params); |
53 | /** |
54 | * Private Interfaces. |
55 | */ |
56 | XSLTPUBFUN void XSLTCALL |
57 | xsltApplyStripSpaces (xsltTransformContextPtr ctxt, |
58 | xmlNodePtr node); |
59 | XSLTPUBFUN xmlDocPtr XSLTCALL |
60 | xsltApplyStylesheet (xsltStylesheetPtr style, |
61 | xmlDocPtr doc, |
62 | const char **params); |
63 | XSLTPUBFUN xmlDocPtr XSLTCALL |
64 | xsltProfileStylesheet (xsltStylesheetPtr style, |
65 | xmlDocPtr doc, |
66 | const char **params, |
67 | FILE * output); |
68 | XSLTPUBFUN int XSLTCALL |
69 | xsltRunStylesheet (xsltStylesheetPtr style, |
70 | xmlDocPtr doc, |
71 | const char **params, |
72 | const char *output, |
73 | xmlSAXHandlerPtr SAX, |
74 | xmlOutputBufferPtr IObuf); |
75 | XSLTPUBFUN int XSLTCALL |
76 | 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); |
84 | XSLTPUBFUN void XSLTCALL |
85 | xsltApplyOneTemplate (xsltTransformContextPtr ctxt, |
86 | xmlNodePtr node, |
87 | xmlNodePtr list, |
88 | xsltTemplatePtr templ, |
89 | xsltStackElemPtr params); |
90 | XSLTPUBFUN void XSLTCALL |
91 | xsltDocumentElem (xsltTransformContextPtr ctxt, |
92 | xmlNodePtr node, |
93 | xmlNodePtr inst, |
94 | xsltElemPreCompPtr comp); |
95 | XSLTPUBFUN void XSLTCALL |
96 | xsltSort (xsltTransformContextPtr ctxt, |
97 | xmlNodePtr node, |
98 | xmlNodePtr inst, |
99 | xsltElemPreCompPtr comp); |
100 | XSLTPUBFUN void XSLTCALL |
101 | xsltCopy (xsltTransformContextPtr ctxt, |
102 | xmlNodePtr node, |
103 | xmlNodePtr inst, |
104 | xsltElemPreCompPtr comp); |
105 | XSLTPUBFUN void XSLTCALL |
106 | xsltText (xsltTransformContextPtr ctxt, |
107 | xmlNodePtr node, |
108 | xmlNodePtr inst, |
109 | xsltElemPreCompPtr comp); |
110 | XSLTPUBFUN void XSLTCALL |
111 | xsltElement (xsltTransformContextPtr ctxt, |
112 | xmlNodePtr node, |
113 | xmlNodePtr inst, |
114 | xsltElemPreCompPtr comp); |
115 | XSLTPUBFUN void XSLTCALL |
116 | (xsltTransformContextPtr ctxt, |
117 | xmlNodePtr node, |
118 | xmlNodePtr inst, |
119 | xsltElemPreCompPtr comp); |
120 | XSLTPUBFUN void XSLTCALL |
121 | xsltAttribute (xsltTransformContextPtr ctxt, |
122 | xmlNodePtr node, |
123 | xmlNodePtr inst, |
124 | xsltElemPreCompPtr comp); |
125 | XSLTPUBFUN void XSLTCALL |
126 | xsltProcessingInstruction(xsltTransformContextPtr ctxt, |
127 | xmlNodePtr node, |
128 | xmlNodePtr inst, |
129 | xsltElemPreCompPtr comp); |
130 | XSLTPUBFUN void XSLTCALL |
131 | xsltCopyOf (xsltTransformContextPtr ctxt, |
132 | xmlNodePtr node, |
133 | xmlNodePtr inst, |
134 | xsltElemPreCompPtr comp); |
135 | XSLTPUBFUN void XSLTCALL |
136 | xsltValueOf (xsltTransformContextPtr ctxt, |
137 | xmlNodePtr node, |
138 | xmlNodePtr inst, |
139 | xsltElemPreCompPtr comp); |
140 | XSLTPUBFUN void XSLTCALL |
141 | xsltNumber (xsltTransformContextPtr ctxt, |
142 | xmlNodePtr node, |
143 | xmlNodePtr inst, |
144 | xsltElemPreCompPtr comp); |
145 | XSLTPUBFUN void XSLTCALL |
146 | xsltApplyImports (xsltTransformContextPtr ctxt, |
147 | xmlNodePtr node, |
148 | xmlNodePtr inst, |
149 | xsltElemPreCompPtr comp); |
150 | XSLTPUBFUN void XSLTCALL |
151 | xsltCallTemplate (xsltTransformContextPtr ctxt, |
152 | xmlNodePtr node, |
153 | xmlNodePtr inst, |
154 | xsltElemPreCompPtr comp); |
155 | XSLTPUBFUN void XSLTCALL |
156 | xsltApplyTemplates (xsltTransformContextPtr ctxt, |
157 | xmlNodePtr node, |
158 | xmlNodePtr inst, |
159 | xsltElemPreCompPtr comp); |
160 | XSLTPUBFUN void XSLTCALL |
161 | xsltChoose (xsltTransformContextPtr ctxt, |
162 | xmlNodePtr node, |
163 | xmlNodePtr inst, |
164 | xsltElemPreCompPtr comp); |
165 | XSLTPUBFUN void XSLTCALL |
166 | xsltIf (xsltTransformContextPtr ctxt, |
167 | xmlNodePtr node, |
168 | xmlNodePtr inst, |
169 | xsltElemPreCompPtr comp); |
170 | XSLTPUBFUN void XSLTCALL |
171 | xsltForEach (xsltTransformContextPtr ctxt, |
172 | xmlNodePtr node, |
173 | xmlNodePtr inst, |
174 | xsltElemPreCompPtr comp); |
175 | XSLTPUBFUN void XSLTCALL |
176 | xsltRegisterAllElement (xsltTransformContextPtr ctxt); |
177 | |
178 | XSLTPUBFUN xmlNodePtr XSLTCALL |
179 | xsltCopyTextString (xsltTransformContextPtr ctxt, |
180 | xmlNodePtr target, |
181 | const xmlChar *string, |
182 | int noescape); |
183 | |
184 | /* Following 2 functions needed for libexslt/functions.c */ |
185 | XSLTPUBFUN void XSLTCALL |
186 | xsltLocalVariablePop (xsltTransformContextPtr ctxt, |
187 | int limitNr, |
188 | int level); |
189 | XSLTPUBFUN int XSLTCALL |
190 | xsltLocalVariablePush (xsltTransformContextPtr ctxt, |
191 | xsltStackElemPtr variable, |
192 | int level); |
193 | /* |
194 | * Hook for the debugger if activated. |
195 | */ |
196 | XSLTPUBFUN void XSLTCALL |
197 | xslHandleDebugger (xmlNodePtr cur, |
198 | xmlNodePtr node, |
199 | xsltTemplatePtr templ, |
200 | xsltTransformContextPtr ctxt); |
201 | |
202 | #ifdef __cplusplus |
203 | } |
204 | #endif |
205 | |
206 | #endif /* __XML_XSLT_TRANSFORM_H__ */ |
207 | |
208 | |