Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxslt/xsltutils.h @ 2:6af9afd405e9 draft
"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author | shellac |
---|---|
date | Thu, 14 May 2020 14:56:58 -0400 |
parents | 26e78fe6e8c4 |
children |
comparison
equal
deleted
inserted
replaced
1:75ca89e9b81c | 2:6af9afd405e9 |
---|---|
1 /* | |
2 * Summary: set of utilities for the XSLT engine | |
3 * Description: interfaces for the utilities module of the XSLT engine. | |
4 * things like message handling, profiling, and other | |
5 * generally useful routines. | |
6 * | |
7 * Copy: See Copyright for the status of this software. | |
8 * | |
9 * Author: Daniel Veillard | |
10 */ | |
11 | |
12 #ifndef __XML_XSLTUTILS_H__ | |
13 #define __XML_XSLTUTILS_H__ | |
14 | |
15 #include <libxslt/xsltconfig.h> | |
16 #ifdef HAVE_STDARG_H | |
17 #include <stdarg.h> | |
18 #endif | |
19 #include <libxml/xpath.h> | |
20 #include <libxml/dict.h> | |
21 #include <libxml/xmlerror.h> | |
22 #include "xsltexports.h" | |
23 #include "xsltInternals.h" | |
24 | |
25 #ifdef __cplusplus | |
26 extern "C" { | |
27 #endif | |
28 | |
29 /** | |
30 * XSLT_TODO: | |
31 * | |
32 * Macro to flag unimplemented blocks. | |
33 */ | |
34 #define XSLT_TODO \ | |
35 xsltGenericError(xsltGenericErrorContext, \ | |
36 "Unimplemented block at %s:%d\n", \ | |
37 __FILE__, __LINE__); | |
38 | |
39 /** | |
40 * XSLT_STRANGE: | |
41 * | |
42 * Macro to flag that a problem was detected internally. | |
43 */ | |
44 #define XSLT_STRANGE \ | |
45 xsltGenericError(xsltGenericErrorContext, \ | |
46 "Internal error at %s:%d\n", \ | |
47 __FILE__, __LINE__); | |
48 | |
49 /** | |
50 * IS_XSLT_ELEM: | |
51 * | |
52 * Checks that the element pertains to XSLT namespace. | |
53 */ | |
54 #define IS_XSLT_ELEM(n) \ | |
55 (((n) != NULL) && ((n)->type == XML_ELEMENT_NODE) && \ | |
56 ((n)->ns != NULL) && (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) | |
57 | |
58 /** | |
59 * IS_XSLT_NAME: | |
60 * | |
61 * Checks the value of an element in XSLT namespace. | |
62 */ | |
63 #define IS_XSLT_NAME(n, val) \ | |
64 (xmlStrEqual((n)->name, (const xmlChar *) (val))) | |
65 | |
66 /** | |
67 * IS_XSLT_REAL_NODE: | |
68 * | |
69 * Check that a node is a 'real' one: document, element, text or attribute. | |
70 */ | |
71 #define IS_XSLT_REAL_NODE(n) \ | |
72 (((n) != NULL) && \ | |
73 (((n)->type == XML_ELEMENT_NODE) || \ | |
74 ((n)->type == XML_TEXT_NODE) || \ | |
75 ((n)->type == XML_CDATA_SECTION_NODE) || \ | |
76 ((n)->type == XML_ATTRIBUTE_NODE) || \ | |
77 ((n)->type == XML_DOCUMENT_NODE) || \ | |
78 ((n)->type == XML_HTML_DOCUMENT_NODE) || \ | |
79 ((n)->type == XML_COMMENT_NODE) || \ | |
80 ((n)->type == XML_PI_NODE))) | |
81 | |
82 /* | |
83 * Our own version of namespaced attributes lookup. | |
84 */ | |
85 XSLTPUBFUN xmlChar * XSLTCALL | |
86 xsltGetNsProp (xmlNodePtr node, | |
87 const xmlChar *name, | |
88 const xmlChar *nameSpace); | |
89 XSLTPUBFUN const xmlChar * XSLTCALL | |
90 xsltGetCNsProp (xsltStylesheetPtr style, | |
91 xmlNodePtr node, | |
92 const xmlChar *name, | |
93 const xmlChar *nameSpace); | |
94 XSLTPUBFUN int XSLTCALL | |
95 xsltGetUTF8Char (const unsigned char *utf, | |
96 int *len); | |
97 | |
98 /* | |
99 * XSLT Debug Tracing Tracing Types | |
100 */ | |
101 typedef enum { | |
102 XSLT_TRACE_ALL = -1, | |
103 XSLT_TRACE_NONE = 0, | |
104 XSLT_TRACE_COPY_TEXT = 1<<0, | |
105 XSLT_TRACE_PROCESS_NODE = 1<<1, | |
106 XSLT_TRACE_APPLY_TEMPLATE = 1<<2, | |
107 XSLT_TRACE_COPY = 1<<3, | |
108 XSLT_TRACE_COMMENT = 1<<4, | |
109 XSLT_TRACE_PI = 1<<5, | |
110 XSLT_TRACE_COPY_OF = 1<<6, | |
111 XSLT_TRACE_VALUE_OF = 1<<7, | |
112 XSLT_TRACE_CALL_TEMPLATE = 1<<8, | |
113 XSLT_TRACE_APPLY_TEMPLATES = 1<<9, | |
114 XSLT_TRACE_CHOOSE = 1<<10, | |
115 XSLT_TRACE_IF = 1<<11, | |
116 XSLT_TRACE_FOR_EACH = 1<<12, | |
117 XSLT_TRACE_STRIP_SPACES = 1<<13, | |
118 XSLT_TRACE_TEMPLATES = 1<<14, | |
119 XSLT_TRACE_KEYS = 1<<15, | |
120 XSLT_TRACE_VARIABLES = 1<<16 | |
121 } xsltDebugTraceCodes; | |
122 | |
123 /** | |
124 * XSLT_TRACE: | |
125 * | |
126 * Control the type of xsl debugtrace messages emitted. | |
127 */ | |
128 #define XSLT_TRACE(ctxt,code,call) \ | |
129 if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \ | |
130 call | |
131 | |
132 XSLTPUBFUN void XSLTCALL | |
133 xsltDebugSetDefaultTrace(xsltDebugTraceCodes val); | |
134 XSLTPUBFUN xsltDebugTraceCodes XSLTCALL | |
135 xsltDebugGetDefaultTrace(void); | |
136 | |
137 /* | |
138 * XSLT specific error and debug reporting functions. | |
139 */ | |
140 XSLTPUBVAR xmlGenericErrorFunc xsltGenericError; | |
141 XSLTPUBVAR void *xsltGenericErrorContext; | |
142 XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug; | |
143 XSLTPUBVAR void *xsltGenericDebugContext; | |
144 | |
145 XSLTPUBFUN void XSLTCALL | |
146 xsltPrintErrorContext (xsltTransformContextPtr ctxt, | |
147 xsltStylesheetPtr style, | |
148 xmlNodePtr node); | |
149 XSLTPUBFUN void XSLTCALL | |
150 xsltMessage (xsltTransformContextPtr ctxt, | |
151 xmlNodePtr node, | |
152 xmlNodePtr inst); | |
153 XSLTPUBFUN void XSLTCALL | |
154 xsltSetGenericErrorFunc (void *ctx, | |
155 xmlGenericErrorFunc handler); | |
156 XSLTPUBFUN void XSLTCALL | |
157 xsltSetGenericDebugFunc (void *ctx, | |
158 xmlGenericErrorFunc handler); | |
159 XSLTPUBFUN void XSLTCALL | |
160 xsltSetTransformErrorFunc (xsltTransformContextPtr ctxt, | |
161 void *ctx, | |
162 xmlGenericErrorFunc handler); | |
163 XSLTPUBFUN void XSLTCALL | |
164 xsltTransformError (xsltTransformContextPtr ctxt, | |
165 xsltStylesheetPtr style, | |
166 xmlNodePtr node, | |
167 const char *msg, | |
168 ...) LIBXSLT_ATTR_FORMAT(4,5); | |
169 | |
170 XSLTPUBFUN int XSLTCALL | |
171 xsltSetCtxtParseOptions (xsltTransformContextPtr ctxt, | |
172 int options); | |
173 /* | |
174 * Sorting. | |
175 */ | |
176 | |
177 XSLTPUBFUN void XSLTCALL | |
178 xsltDocumentSortFunction (xmlNodeSetPtr list); | |
179 XSLTPUBFUN void XSLTCALL | |
180 xsltSetSortFunc (xsltSortFunc handler); | |
181 XSLTPUBFUN void XSLTCALL | |
182 xsltSetCtxtSortFunc (xsltTransformContextPtr ctxt, | |
183 xsltSortFunc handler); | |
184 XSLTPUBFUN void XSLTCALL | |
185 xsltDefaultSortFunction (xsltTransformContextPtr ctxt, | |
186 xmlNodePtr *sorts, | |
187 int nbsorts); | |
188 XSLTPUBFUN void XSLTCALL | |
189 xsltDoSortFunction (xsltTransformContextPtr ctxt, | |
190 xmlNodePtr * sorts, | |
191 int nbsorts); | |
192 XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL | |
193 xsltComputeSortResult (xsltTransformContextPtr ctxt, | |
194 xmlNodePtr sort); | |
195 | |
196 /* | |
197 * QNames handling. | |
198 */ | |
199 | |
200 XSLTPUBFUN const xmlChar * XSLTCALL | |
201 xsltSplitQName (xmlDictPtr dict, | |
202 const xmlChar *name, | |
203 const xmlChar **prefix); | |
204 XSLTPUBFUN const xmlChar * XSLTCALL | |
205 xsltGetQNameURI (xmlNodePtr node, | |
206 xmlChar **name); | |
207 | |
208 XSLTPUBFUN const xmlChar * XSLTCALL | |
209 xsltGetQNameURI2 (xsltStylesheetPtr style, | |
210 xmlNodePtr node, | |
211 const xmlChar **name); | |
212 | |
213 /* | |
214 * Output, reuse libxml I/O buffers. | |
215 */ | |
216 XSLTPUBFUN int XSLTCALL | |
217 xsltSaveResultTo (xmlOutputBufferPtr buf, | |
218 xmlDocPtr result, | |
219 xsltStylesheetPtr style); | |
220 XSLTPUBFUN int XSLTCALL | |
221 xsltSaveResultToFilename (const char *URI, | |
222 xmlDocPtr result, | |
223 xsltStylesheetPtr style, | |
224 int compression); | |
225 XSLTPUBFUN int XSLTCALL | |
226 xsltSaveResultToFile (FILE *file, | |
227 xmlDocPtr result, | |
228 xsltStylesheetPtr style); | |
229 XSLTPUBFUN int XSLTCALL | |
230 xsltSaveResultToFd (int fd, | |
231 xmlDocPtr result, | |
232 xsltStylesheetPtr style); | |
233 XSLTPUBFUN int XSLTCALL | |
234 xsltSaveResultToString (xmlChar **doc_txt_ptr, | |
235 int * doc_txt_len, | |
236 xmlDocPtr result, | |
237 xsltStylesheetPtr style); | |
238 | |
239 /* | |
240 * XPath interface | |
241 */ | |
242 XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL | |
243 xsltXPathCompile (xsltStylesheetPtr style, | |
244 const xmlChar *str); | |
245 XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL | |
246 xsltXPathCompileFlags (xsltStylesheetPtr style, | |
247 const xmlChar *str, | |
248 int flags); | |
249 | |
250 /* | |
251 * Profiling. | |
252 */ | |
253 XSLTPUBFUN void XSLTCALL | |
254 xsltSaveProfiling (xsltTransformContextPtr ctxt, | |
255 FILE *output); | |
256 XSLTPUBFUN xmlDocPtr XSLTCALL | |
257 xsltGetProfileInformation (xsltTransformContextPtr ctxt); | |
258 | |
259 XSLTPUBFUN long XSLTCALL | |
260 xsltTimestamp (void); | |
261 XSLTPUBFUN void XSLTCALL | |
262 xsltCalibrateAdjust (long delta); | |
263 | |
264 /** | |
265 * XSLT_TIMESTAMP_TICS_PER_SEC: | |
266 * | |
267 * Sampling precision for profiling | |
268 */ | |
269 #define XSLT_TIMESTAMP_TICS_PER_SEC 100000l | |
270 | |
271 /* | |
272 * Hooks for the debugger. | |
273 */ | |
274 | |
275 typedef enum { | |
276 XSLT_DEBUG_NONE = 0, /* no debugging allowed */ | |
277 XSLT_DEBUG_INIT, | |
278 XSLT_DEBUG_STEP, | |
279 XSLT_DEBUG_STEPOUT, | |
280 XSLT_DEBUG_NEXT, | |
281 XSLT_DEBUG_STOP, | |
282 XSLT_DEBUG_CONT, | |
283 XSLT_DEBUG_RUN, | |
284 XSLT_DEBUG_RUN_RESTART, | |
285 XSLT_DEBUG_QUIT | |
286 } xsltDebugStatusCodes; | |
287 | |
288 XSLTPUBVAR int xslDebugStatus; | |
289 | |
290 typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node, | |
291 xsltTemplatePtr templ, xsltTransformContextPtr ctxt); | |
292 typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source); | |
293 typedef void (*xsltDropCallCallback) (void); | |
294 | |
295 XSLTPUBFUN void XSLTCALL | |
296 xsltSetDebuggerStatus (int value); | |
297 XSLTPUBFUN int XSLTCALL | |
298 xsltGetDebuggerStatus (void); | |
299 XSLTPUBFUN int XSLTCALL | |
300 xsltSetDebuggerCallbacks (int no, void *block); | |
301 XSLTPUBFUN int XSLTCALL | |
302 xslAddCall (xsltTemplatePtr templ, | |
303 xmlNodePtr source); | |
304 XSLTPUBFUN void XSLTCALL | |
305 xslDropCall (void); | |
306 | |
307 #ifdef __cplusplus | |
308 } | |
309 #endif | |
310 | |
311 #endif /* __XML_XSLTUTILS_H__ */ | |
312 | |
313 |