|
|
1.1 paf 1: /*
2: * imports.h: interface for the XSLT import support
3: *
4: * See Copyright for the status of this software.
5: *
6: * daniel@veillard.com
7: */
8:
9: #ifndef __XML_XSLT_IMPORTS_H__
10: #define __XML_XSLT_IMPORTS_H__
11:
12: #include <libxml/tree.h>
13: #include "xsltInternals.h"
14:
15: #ifdef __cplusplus
16: extern "C" {
17: #endif
18:
19: /**
20: * XSLT_GET_IMPORT_PTR:
21: *
1.2 ! paf 22: * A macro to import pointers from the stylesheet cascading order.
1.1 paf 23: */
24: #define XSLT_GET_IMPORT_PTR(res, style, name) { \
25: xsltStylesheetPtr st = style; \
26: res = NULL; \
27: while (st != NULL) { \
28: if (st->name != NULL) { res = st->name; break; } \
29: st = xsltNextImport(st); \
30: }}
31:
32: /**
33: * XSLT_GET_IMPORT_INT:
34: *
1.2 ! paf 35: * A macro to import intergers from the stylesheet cascading order.
1.1 paf 36: */
37: #define XSLT_GET_IMPORT_INT(res, style, name) { \
38: xsltStylesheetPtr st = style; \
39: res = -1; \
40: while (st != NULL) { \
41: if (st->name != -1) { res = st->name; break; } \
42: st = xsltNextImport(st); \
43: }}
44:
45: /*
46: * Module interfaces
47: */
1.2 ! paf 48: int xsltParseStylesheetImport(xsltStylesheetPtr style,
1.1 paf 49: xmlNodePtr cur);
1.2 ! paf 50: int xsltParseStylesheetInclude(xsltStylesheetPtr style,
1.1 paf 51: xmlNodePtr cur);
52: xsltStylesheetPtr xsltNextImport (xsltStylesheetPtr style);
53: int xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
54: int xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
55: xmlNodePtr node);
56: xsltTemplatePtr xsltFindTemplate (xsltTransformContextPtr ctxt,
57: const xmlChar *name,
58: const xmlChar *nameURI);
59:
60: #ifdef __cplusplus
61: }
62: #endif
63:
64: #endif /* __XML_XSLT_IMPORTS_H__ */
65: