Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xslt/libxslt/documents.h
4389 views
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
94
95