Upload Tizen:Base source
[toolchains/python-lxml.git] / src / lxml / xslt.pxd
1 from tree cimport xmlDoc, xmlNode, xmlDict
2 from xpath cimport xmlXPathContext, xmlXPathFunction
3
4 cdef extern from "libxslt/xslt.h":
5     cdef int xsltLibxsltVersion
6
7 cdef extern from "libxslt/xsltconfig.h":
8     cdef int LIBXSLT_VERSION
9
10 cdef extern from "libxslt/xsltInternals.h":
11     ctypedef enum xsltTransformState:
12         XSLT_STATE_OK       # 0
13         XSLT_STATE_ERROR    # 1
14         XSLT_STATE_STOPPED  # 2
15
16     ctypedef struct xsltDocument:
17         xmlDoc* doc
18
19     ctypedef struct xsltStylesheet:
20         char* encoding
21         xmlDoc* doc
22
23     ctypedef struct xsltTransformContext:
24         xsltStylesheet* style
25         xmlXPathContext* xpathCtxt
26         xsltDocument* document
27         void* _private
28         xmlDict* dict
29         int profile
30         xmlNode* node
31         xmlDoc* output
32         xmlNode* insert
33         xsltTransformState state
34
35     ctypedef struct xsltStackElem
36
37     cdef xsltStylesheet* xsltParseStylesheetDoc(xmlDoc* doc) nogil
38     cdef void xsltFreeStylesheet(xsltStylesheet* sheet) nogil
39
40 cdef extern from "libxslt/extensions.h":
41     ctypedef void (*xsltTransformFunction)(xsltTransformContext* ctxt,
42                                            xmlNode* context_node,
43                                            xmlNode* inst,
44                                            void* precomp_unused) nogil
45
46     cdef int xsltRegisterExtFunction(xsltTransformContext* ctxt,
47                                      char* name,
48                                      char* URI,
49                                      xmlXPathFunction function) nogil
50     cdef int xsltRegisterExtModuleFunction(char* name, char* URI,
51                                            xmlXPathFunction function) nogil
52     cdef int xsltUnregisterExtModuleFunction(char* name, char* URI)
53     cdef xmlXPathFunction xsltExtModuleFunctionLookup(
54         char* name, char* URI) nogil
55     cdef int xsltRegisterExtPrefix(xsltStylesheet* style, 
56                                    char* prefix, char* URI) nogil
57     cdef int xsltRegisterExtElement(xsltTransformContext* ctxt,
58                                     char* name, char* URI,
59                                     xsltTransformFunction function) nogil
60
61 cdef extern from "libxslt/documents.h":
62     ctypedef enum xsltLoadType:
63         XSLT_LOAD_START
64         XSLT_LOAD_STYLESHEET
65         XSLT_LOAD_DOCUMENT
66
67     ctypedef xmlDoc* (*xsltDocLoaderFunc)(char* URI, xmlDict* dict,
68                                           int options,
69                                           void* ctxt,
70                                           xsltLoadType type) nogil
71     cdef xsltDocLoaderFunc xsltDocDefaultLoader
72     cdef void xsltSetLoaderFunc(xsltDocLoaderFunc f) nogil
73
74 cdef extern from "libxslt/transform.h":
75     cdef xmlDoc* xsltApplyStylesheet(xsltStylesheet* style, xmlDoc* doc,
76                                      char** params) nogil
77     cdef xmlDoc* xsltApplyStylesheetUser(xsltStylesheet* style, xmlDoc* doc,
78                                          char** params, char* output,
79                                          void* profile,
80                                          xsltTransformContext* context) nogil
81     cdef void xsltProcessOneNode(xsltTransformContext* ctxt,
82                                  xmlNode* contextNode,
83                                  xsltStackElem* params) nogil
84     cdef xsltTransformContext* xsltNewTransformContext(xsltStylesheet* style,
85                                                        xmlDoc* doc) nogil
86     cdef void xsltFreeTransformContext(xsltTransformContext* context) nogil
87
88 cdef extern from "libxslt/xsltutils.h":
89     cdef int xsltSaveResultToString(char** doc_txt_ptr,
90                                     int* doc_txt_len,
91                                     xmlDoc* result,
92                                     xsltStylesheet* style) nogil
93     
94     cdef void xsltSetGenericErrorFunc(
95         void* ctxt, void (*handler)(void* ctxt, char* msg, ...)) nogil
96     cdef void xsltSetTransformErrorFunc(
97         xsltTransformContext*, void* ctxt,
98         void (*handler)(void* ctxt, char* msg, ...) nogil) nogil
99     cdef void xsltTransformError(xsltTransformContext* ctxt, 
100                                  xsltStylesheet* style, 
101                                  xmlNode* node, char* msg, ...)
102     cdef void xsltSetCtxtParseOptions(
103         xsltTransformContext* ctxt, int options)
104
105 cdef extern from "libxslt/security.h":
106     ctypedef struct xsltSecurityPrefs
107     ctypedef enum xsltSecurityOption:
108         XSLT_SECPREF_READ_FILE = 1
109         XSLT_SECPREF_WRITE_FILE = 2
110         XSLT_SECPREF_CREATE_DIRECTORY = 3
111         XSLT_SECPREF_READ_NETWORK = 4
112         XSLT_SECPREF_WRITE_NETWORK = 5
113
114     ctypedef int (*xsltSecurityCheck)(xsltSecurityPrefs* sec,
115                                       xsltTransformContext* ctxt,
116                                       char* value) nogil
117
118     cdef xsltSecurityPrefs* xsltNewSecurityPrefs() nogil
119     cdef void xsltFreeSecurityPrefs(xsltSecurityPrefs* sec) nogil
120     cdef int xsltSecurityForbid(xsltSecurityPrefs* sec,
121                                 xsltTransformContext* ctxt,
122                                 char* value) nogil
123     cdef int xsltSecurityAllow(xsltSecurityPrefs* sec,
124                                 xsltTransformContext* ctxt,
125                                 char* value) nogil
126     cdef int xsltSetSecurityPrefs(xsltSecurityPrefs* sec,
127                                   xsltSecurityOption option,
128                                   xsltSecurityCheck func) nogil
129     cdef xsltSecurityCheck xsltGetSecurityPrefs(
130         xsltSecurityPrefs* sec,
131         xsltSecurityOption option) nogil
132     cdef int xsltSetCtxtSecurityPrefs(xsltSecurityPrefs* sec,
133                                       xsltTransformContext* ctxt) nogil
134     cdef xmlDoc* xsltGetProfileInformation(xsltTransformContext* ctxt) nogil
135
136 cdef extern from "libxslt/variables.h":
137     cdef int xsltQuoteUserParams(xsltTransformContext* ctxt,
138                                  char** params)
139     cdef int xsltQuoteOneUserParam(xsltTransformContext* ctxt,
140                                    char* name,
141                                    char* value)
142     cdef int xsltEvalOneUserParam(xsltTransformContext* ctxt,
143                                   char* name,
144                                   char* value)
145
146 cdef extern from "libxslt/extra.h":
147     cdef char* XSLT_LIBXSLT_NAMESPACE
148     cdef char* XSLT_XALAN_NAMESPACE
149     cdef char* XSLT_SAXON_NAMESPACE
150     cdef char* XSLT_XT_NAMESPACE
151
152     cdef xmlXPathFunction xsltFunctionNodeSet
153     cdef void xsltRegisterAllExtras() nogil
154
155 cdef extern from "libexslt/exslt.h":
156     cdef void exsltRegisterAll() nogil