OLD | NEW |
| (Empty) |
1 /* | |
2 * Summary: interface for the document handling | |
3 * Description: implements document loading and cache (multiple | |
4 * document() reference for the same resources must | |
5 * be equal. | |
6 * | |
7 * Copy: See Copyright for the status of this software. | |
8 * | |
9 * Author: Daniel Veillard | |
10 */ | |
11 | |
12 #ifndef __XML_XSLT_DOCUMENTS_H__ | |
13 #define __XML_XSLT_DOCUMENTS_H__ | |
14 | |
15 #include <libxml/tree.h> | |
16 #include "xsltexports.h" | |
17 #include "xsltInternals.h" | |
18 | |
19 #ifdef __cplusplus | |
20 extern "C" { | |
21 #endif | |
22 | |
23 XSLTPUBFUN xsltDocumentPtr XSLTCALL | |
24 xsltNewDocument (xsltTransformContextPtr ctxt, | |
25 xmlDocPtr doc); | |
26 XSLTPUBFUN xsltDocumentPtr XSLTCALL | |
27 xsltLoadDocument (xsltTransformContextPtr ctxt, | |
28 const xmlChar *URI); | |
29 XSLTPUBFUN xsltDocumentPtr XSLTCALL | |
30 xsltFindDocument (xsltTransformContextPtr ctxt, | |
31 xmlDocPtr doc); | |
32 XSLTPUBFUN void XSLTCALL | |
33 xsltFreeDocuments (xsltTransformContextPtr ctxt); | |
34 | |
35 XSLTPUBFUN xsltDocumentPtr XSLTCALL | |
36 xsltLoadStyleDocument (xsltStylesheetPtr style, | |
37 const xmlChar *URI); | |
38 XSLTPUBFUN xsltDocumentPtr XSLTCALL | |
39 xsltNewStyleDocument (xsltStylesheetPtr style, | |
40 xmlDocPtr doc); | |
41 XSLTPUBFUN void XSLTCALL | |
42 xsltFreeStyleDocuments (xsltStylesheetPtr style); | |
43 | |
44 /* | |
45 * Hooks for document loading | |
46 */ | |
47 | |
48 /** | |
49 * xsltLoadType: | |
50 * | |
51 * Enum defining the kind of loader requirement. | |
52 */ | |
53 typedef enum { | |
54 XSLT_LOAD_START = 0, /* loading for a top stylesheet */ | |
55 XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */ | |
56 XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */ | |
57 } xsltLoadType; | |
58 | |
59 /** | |
60 * xsltDocLoaderFunc: | |
61 * @URI: the URI of the document to load | |
62 * @dict: the dictionary to use when parsing that document | |
63 * @options: parsing options, a set of xmlParserOption | |
64 * @ctxt: the context, either a stylesheet or a transformation context | |
65 * @type: the xsltLoadType indicating the kind of loading required | |
66 * | |
67 * An xsltDocLoaderFunc is a signature for a function which can be | |
68 * registered to load document not provided by the compilation or | |
69 * transformation API themselve, for example when an xsl:import, | |
70 * xsl:include is found at compilation time or when a document() | |
71 * call is made at runtime. | |
72 * | |
73 * Returns the pointer to the document (which will be modified and | |
74 * freed by the engine later), or NULL in case of error. | |
75 */ | |
76 typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI, | |
77 xmlDictPtr dict, | |
78 int options, | |
79 void *ctxt, | |
80 xsltLoadType type); | |
81 | |
82 XSLTPUBFUN void XSLTCALL | |
83 xsltSetLoaderFunc (xsltDocLoaderFunc f); | |
84 | |
85 /* the loader may be needed by extension libraries so it is exported */ | |
86 XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader; | |
87 | |
88 #ifdef __cplusplus | |
89 } | |
90 #endif | |
91 | |
92 #endif /* __XML_XSLT_DOCUMENTS_H__ */ | |
93 | |
OLD | NEW |