|
|
1.1 paf 1: /*
2: * transform.h: Interfaces, constants and types related to the XSLT engine
3: * transform part.
4: *
5: * See Copyright for the status of this software.
6: *
7: * daniel@veillard.com
8: */
9:
10: #ifndef __XML_XSLT_TRANSFORM_H__
11: #define __XML_XSLT_TRANSFORM_H__
12:
13: #include <libxml/parser.h>
14: #include <libxml/xmlIO.h>
1.2 ! paf 15: #include <libxslt/xsltInternals.h>
1.1 paf 16:
17: #ifdef __cplusplus
18: extern "C" {
19: #endif
20:
21: /**
1.2 ! paf 22: * XInclude default processing.
1.1 paf 23: */
24: void xsltSetXIncludeDefault (int xinclude);
25: int xsltGetXIncludeDefault (void);
26:
27: /**
28: * Export context to users.
29: */
30: xsltTransformContextPtr xsltNewTransformContext (xsltStylesheetPtr style,
31: xmlDocPtr doc);
32:
33: void xsltFreeTransformContext(xsltTransformContextPtr ctxt);
34:
35: xmlDocPtr xsltApplyStylesheetUser (xsltStylesheetPtr style,
36: xmlDocPtr doc,
37: const char **params,
38: const char *output,
39: FILE * profile,
40: xsltTransformContextPtr userCtxt);
41: /**
1.2 ! paf 42: * Private Interfaces.
1.1 paf 43: */
44: void xsltApplyStripSpaces (xsltTransformContextPtr ctxt,
45: xmlNodePtr node);
46: xmlDocPtr xsltApplyStylesheet (xsltStylesheetPtr style,
47: xmlDocPtr doc,
48: const char **params);
49: xmlDocPtr xsltProfileStylesheet (xsltStylesheetPtr style,
50: xmlDocPtr doc,
51: const char **params,
52: FILE * output);
53: int xsltRunStylesheet (xsltStylesheetPtr style,
54: xmlDocPtr doc,
55: const char **params,
56: const char *output,
57: xmlSAXHandlerPtr SAX,
58: xmlOutputBufferPtr IObuf);
1.2 ! paf 59: int xsltRunStylesheetUser (xsltStylesheetPtr style,
! 60: xmlDocPtr doc,
! 61: const char **params,
! 62: const char *output,
! 63: xmlSAXHandlerPtr SAX,
! 64: xmlOutputBufferPtr IObuf,
! 65: FILE * profile,
! 66: xsltTransformContextPtr userCtxt);
1.1 paf 67: void xsltApplyOneTemplate (xsltTransformContextPtr ctxt,
68: xmlNodePtr node,
69: xmlNodePtr list,
70: xsltTemplatePtr templ,
71: xsltStackElemPtr params);
72: void xsltDocumentElem (xsltTransformContextPtr ctxt,
73: xmlNodePtr node,
74: xmlNodePtr inst,
75: xsltStylePreCompPtr comp);
76: void xsltSort (xsltTransformContextPtr ctxt,
77: xmlNodePtr node,
78: xmlNodePtr inst,
79: xsltStylePreCompPtr comp);
80: void xsltCopy (xsltTransformContextPtr ctxt,
81: xmlNodePtr node,
82: xmlNodePtr inst,
83: xsltStylePreCompPtr comp);
84: void xsltText (xsltTransformContextPtr ctxt,
85: xmlNodePtr node,
86: xmlNodePtr inst,
87: xsltStylePreCompPtr comp);
88: void xsltElement (xsltTransformContextPtr ctxt,
89: xmlNodePtr node,
90: xmlNodePtr inst,
91: xsltStylePreCompPtr comp);
92: void xsltComment (xsltTransformContextPtr ctxt,
93: xmlNodePtr node,
94: xmlNodePtr inst,
95: xsltStylePreCompPtr comp);
96: void xsltAttribute (xsltTransformContextPtr ctxt,
97: xmlNodePtr node,
98: xmlNodePtr inst,
99: xsltStylePreCompPtr comp);
100: void xsltProcessingInstruction(xsltTransformContextPtr ctxt,
101: xmlNodePtr node,
102: xmlNodePtr inst,
103: xsltStylePreCompPtr comp);
104: void xsltCopyOf (xsltTransformContextPtr ctxt,
105: xmlNodePtr node,
106: xmlNodePtr inst,
107: xsltStylePreCompPtr comp);
108: void xsltValueOf (xsltTransformContextPtr ctxt,
109: xmlNodePtr node,
110: xmlNodePtr inst,
111: xsltStylePreCompPtr comp);
112: void xsltNumber (xsltTransformContextPtr ctxt,
113: xmlNodePtr node,
114: xmlNodePtr inst,
115: xsltStylePreCompPtr comp);
116: void xsltApplyImports (xsltTransformContextPtr ctxt,
117: xmlNodePtr node,
118: xmlNodePtr inst,
119: xsltStylePreCompPtr comp);
120: void xsltCallTemplate (xsltTransformContextPtr ctxt,
121: xmlNodePtr node,
122: xmlNodePtr inst,
123: xsltStylePreCompPtr comp);
124: void xsltApplyTemplates (xsltTransformContextPtr ctxt,
125: xmlNodePtr node,
126: xmlNodePtr inst,
127: xsltStylePreCompPtr comp);
128: void xsltChoose (xsltTransformContextPtr ctxt,
129: xmlNodePtr node,
130: xmlNodePtr inst,
131: xsltStylePreCompPtr comp);
132: void xsltIf (xsltTransformContextPtr ctxt,
133: xmlNodePtr node,
134: xmlNodePtr inst,
135: xsltStylePreCompPtr comp);
136: void xsltForEach (xsltTransformContextPtr ctxt,
137: xmlNodePtr node,
138: xmlNodePtr inst,
139: xsltStylePreCompPtr comp);
140: void xsltRegisterAllElement (xsltTransformContextPtr ctxt);
141:
142: /*
143: * Hook for the debugger if activated.
144: */
145: void xslHandleDebugger (xmlNodePtr cur,
146: xmlNodePtr node,
147: xsltTemplatePtr templ,
148: xsltTransformContextPtr ctxt);
149:
150: #ifdef __cplusplus
151: }
152: #endif
153:
154: #endif /* __XML_XSLT_TRANSFORM_H__ */
155: