[LIBXSLT]
[reactos.git] / reactos / include / reactos / libs / libxslt / imports.h
1 /*
2 * Summary: interface for the XSLT import support
3 * Description: macros and fuctions needed to implement and
4 * access the import tree
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11 #ifndef __XML_XSLT_IMPORTS_H__
12 #define __XML_XSLT_IMPORTS_H__
13
14 #include <libxml/tree.h>
15 #include "xsltexports.h"
16 #include "xsltInternals.h"
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 /**
23 * XSLT_GET_IMPORT_PTR:
24 *
25 * A macro to import pointers from the stylesheet cascading order.
26 */
27 #define XSLT_GET_IMPORT_PTR(res, style, name) { \
28 xsltStylesheetPtr st = style; \
29 res = NULL; \
30 while (st != NULL) { \
31 if (st->name != NULL) { res = st->name; break; } \
32 st = xsltNextImport(st); \
33 }}
34
35 /**
36 * XSLT_GET_IMPORT_INT:
37 *
38 * A macro to import intergers from the stylesheet cascading order.
39 */
40 #define XSLT_GET_IMPORT_INT(res, style, name) { \
41 xsltStylesheetPtr st = style; \
42 res = -1; \
43 while (st != NULL) { \
44 if (st->name != -1) { res = st->name; break; } \
45 st = xsltNextImport(st); \
46 }}
47
48 /*
49 * Module interfaces
50 */
51 XSLTPUBFUN int XSLTCALL
52 xsltParseStylesheetImport(xsltStylesheetPtr style,
53 xmlNodePtr cur);
54 XSLTPUBFUN int XSLTCALL
55 xsltParseStylesheetInclude
56 (xsltStylesheetPtr style,
57 xmlNodePtr cur);
58 XSLTPUBFUN xsltStylesheetPtr XSLTCALL
59 xsltNextImport (xsltStylesheetPtr style);
60 XSLTPUBFUN int XSLTCALL
61 xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
62 XSLTPUBFUN int XSLTCALL
63 xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
64 xmlNodePtr node);
65 XSLTPUBFUN xsltTemplatePtr XSLTCALL
66 xsltFindTemplate (xsltTransformContextPtr ctxt,
67 const xmlChar *name,
68 const xmlChar *nameURI);
69
70 #ifdef __cplusplus
71 }
72 #endif
73
74 #endif /* __XML_XSLT_IMPORTS_H__ */
75