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 
76