Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/schematron.h
811 views
1
/*
2
* Summary: XML Schemastron implementation
3
* Description: interface to the XML Schematron validity checking.
4
*
5
* Copy: See Copyright for the status of this software.
6
*
7
* Author: Daniel Veillard
8
*/
9
10
11
#ifndef __XML_SCHEMATRON_H__
12
#define __XML_SCHEMATRON_H__
13
14
#include <libxml/xmlversion.h>
15
16
#ifdef LIBXML_SCHEMATRON_ENABLED
17
18
#include <libxml/tree.h>
19
20
#ifdef __cplusplus
21
extern "C" {
22
#endif
23
24
typedef enum {
25
XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */
26
XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */
27
XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */
28
XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */
29
XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */
30
XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */
31
XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */
32
} xmlSchematronValidOptions;
33
34
/**
35
* The schemas related types are kept internal
36
*/
37
typedef struct _xmlSchematron xmlSchematron;
38
typedef xmlSchematron *xmlSchematronPtr;
39
40
/**
41
* xmlSchematronValidityErrorFunc:
42
* @ctx: the validation context
43
* @msg: the message
44
* @...: extra arguments
45
*
46
* Signature of an error callback from a Schematron validation
47
*/
48
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
49
50
/**
51
* xmlSchematronValidityWarningFunc:
52
* @ctx: the validation context
53
* @msg: the message
54
* @...: extra arguments
55
*
56
* Signature of a warning callback from a Schematron validation
57
*/
58
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
59
60
/**
61
* A schemas validation context
62
*/
63
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
64
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
65
66
typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
67
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
68
69
/*
70
* Interfaces for parsing.
71
*/
72
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
73
xmlSchematronNewParserCtxt (const char *URL);
74
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
75
xmlSchematronNewMemParserCtxt(const char *buffer,
76
int size);
77
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
78
xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
79
XMLPUBFUN void XMLCALL
80
xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt);
81
/*****
82
XMLPUBFUN void XMLCALL
83
xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
84
xmlSchematronValidityErrorFunc err,
85
xmlSchematronValidityWarningFunc warn,
86
void *ctx);
87
XMLPUBFUN int XMLCALL
88
xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
89
xmlSchematronValidityErrorFunc * err,
90
xmlSchematronValidityWarningFunc * warn,
91
void **ctx);
92
XMLPUBFUN int XMLCALL
93
xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt);
94
*****/
95
XMLPUBFUN xmlSchematronPtr XMLCALL
96
xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt);
97
XMLPUBFUN void XMLCALL
98
xmlSchematronFree (xmlSchematronPtr schema);
99
/*
100
* Interfaces for validating
101
*/
102
XMLPUBFUN void XMLCALL
103
xmlSchematronSetValidStructuredErrors(
104
xmlSchematronValidCtxtPtr ctxt,
105
xmlStructuredErrorFunc serror,
106
void *ctx);
107
/******
108
XMLPUBFUN void XMLCALL
109
xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt,
110
xmlSchematronValidityErrorFunc err,
111
xmlSchematronValidityWarningFunc warn,
112
void *ctx);
113
XMLPUBFUN int XMLCALL
114
xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt,
115
xmlSchematronValidityErrorFunc *err,
116
xmlSchematronValidityWarningFunc *warn,
117
void **ctx);
118
XMLPUBFUN int XMLCALL
119
xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
120
int options);
121
XMLPUBFUN int XMLCALL
122
xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
123
XMLPUBFUN int XMLCALL
124
xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
125
xmlNodePtr elem);
126
*******/
127
128
XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
129
xmlSchematronNewValidCtxt (xmlSchematronPtr schema,
130
int options);
131
XMLPUBFUN void XMLCALL
132
xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt);
133
XMLPUBFUN int XMLCALL
134
xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt,
135
xmlDocPtr instance);
136
137
#ifdef __cplusplus
138
}
139
#endif
140
141
#endif /* LIBXML_SCHEMATRON_ENABLED */
142
#endif /* __XML_SCHEMATRON_H__ */
143
144