VirtualBox

source: vbox/trunk/src/libs/libxml2-2.6.30/include/libxml/xmlschemas.h@ 6076

Last change on this file since 6076 was 6076, checked in by vboxsync, 17 years ago

Merged dmik/s2 branch (r25959:26751) to the trunk.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Revision Author Id
File size: 5.6 KB
Line 
1/*
2 * Summary: incomplete XML Schemas structure implementation
3 * Description: interface to the XML Schemas handling and schema validity
4 * checking, it is incomplete right now.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11
12#ifndef __XML_SCHEMA_H__
13#define __XML_SCHEMA_H__
14
15#include <libxml/xmlversion.h>
16
17#ifdef LIBXML_SCHEMAS_ENABLED
18
19#include <libxml/tree.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/**
26 * This error codes are obsolete; not used any more.
27 */
28typedef enum {
29 XML_SCHEMAS_ERR_OK = 0,
30 XML_SCHEMAS_ERR_NOROOT = 1,
31 XML_SCHEMAS_ERR_UNDECLAREDELEM,
32 XML_SCHEMAS_ERR_NOTTOPLEVEL,
33 XML_SCHEMAS_ERR_MISSING,
34 XML_SCHEMAS_ERR_WRONGELEM,
35 XML_SCHEMAS_ERR_NOTYPE,
36 XML_SCHEMAS_ERR_NOROLLBACK,
37 XML_SCHEMAS_ERR_ISABSTRACT,
38 XML_SCHEMAS_ERR_NOTEMPTY,
39 XML_SCHEMAS_ERR_ELEMCONT,
40 XML_SCHEMAS_ERR_HAVEDEFAULT,
41 XML_SCHEMAS_ERR_NOTNILLABLE,
42 XML_SCHEMAS_ERR_EXTRACONTENT,
43 XML_SCHEMAS_ERR_INVALIDATTR,
44 XML_SCHEMAS_ERR_INVALIDELEM,
45 XML_SCHEMAS_ERR_NOTDETERMINIST,
46 XML_SCHEMAS_ERR_CONSTRUCT,
47 XML_SCHEMAS_ERR_INTERNAL,
48 XML_SCHEMAS_ERR_NOTSIMPLE,
49 XML_SCHEMAS_ERR_ATTRUNKNOWN,
50 XML_SCHEMAS_ERR_ATTRINVALID,
51 XML_SCHEMAS_ERR_VALUE,
52 XML_SCHEMAS_ERR_FACET,
53 XML_SCHEMAS_ERR_,
54 XML_SCHEMAS_ERR_XXX
55} xmlSchemaValidError;
56
57/*
58* ATTENTION: Change xmlSchemaSetValidOptions's check
59* for invalid values, if adding to the validation
60* options below.
61*/
62/**
63 * xmlSchemaValidOption:
64 *
65 * This is the set of XML Schema validation options.
66 */
67typedef enum {
68 XML_SCHEMA_VAL_VC_I_CREATE = 1<<0
69 /* Default/fixed: create an attribute node
70 * or an element's text node on the instance.
71 */
72} xmlSchemaValidOption;
73
74/*
75 XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1,
76 * assemble schemata using
77 * xsi:schemaLocation and
78 * xsi:noNamespaceSchemaLocation
79*/
80
81/**
82 * The schemas related types are kept internal
83 */
84typedef struct _xmlSchema xmlSchema;
85typedef xmlSchema *xmlSchemaPtr;
86
87/**
88 * A schemas validation context
89 */
90typedef void (XMLCDECL *xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...);
91typedef void (XMLCDECL *xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...);
92
93typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
94typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
95
96typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
97typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
98
99/*
100 * Interfaces for parsing.
101 */
102XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
103 xmlSchemaNewParserCtxt (const char *URL);
104XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
105 xmlSchemaNewMemParserCtxt (const char *buffer,
106 int size);
107XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
108 xmlSchemaNewDocParserCtxt (xmlDocPtr doc);
109XMLPUBFUN void XMLCALL
110 xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
111XMLPUBFUN void XMLCALL
112 xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt,
113 xmlSchemaValidityErrorFunc err,
114 xmlSchemaValidityWarningFunc warn,
115 void *ctx);
116XMLPUBFUN void XMLCALL
117 xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
118 xmlStructuredErrorFunc serror,
119 void *ctx);
120XMLPUBFUN int XMLCALL
121 xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
122 xmlSchemaValidityErrorFunc * err,
123 xmlSchemaValidityWarningFunc * warn,
124 void **ctx);
125XMLPUBFUN int XMLCALL
126 xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt);
127
128XMLPUBFUN xmlSchemaPtr XMLCALL
129 xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt);
130XMLPUBFUN void XMLCALL
131 xmlSchemaFree (xmlSchemaPtr schema);
132#ifdef LIBXML_OUTPUT_ENABLED
133XMLPUBFUN void XMLCALL
134 xmlSchemaDump (FILE *output,
135 xmlSchemaPtr schema);
136#endif /* LIBXML_OUTPUT_ENABLED */
137/*
138 * Interfaces for validating
139 */
140XMLPUBFUN void XMLCALL
141 xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt,
142 xmlSchemaValidityErrorFunc err,
143 xmlSchemaValidityWarningFunc warn,
144 void *ctx);
145XMLPUBFUN void XMLCALL
146 xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
147 xmlStructuredErrorFunc serror,
148 void *ctx);
149XMLPUBFUN int XMLCALL
150 xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt,
151 xmlSchemaValidityErrorFunc *err,
152 xmlSchemaValidityWarningFunc *warn,
153 void **ctx);
154XMLPUBFUN int XMLCALL
155 xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt,
156 int options);
157XMLPUBFUN int XMLCALL
158 xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
159
160XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
161 xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
162XMLPUBFUN void XMLCALL
163 xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
164XMLPUBFUN int XMLCALL
165 xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt,
166 xmlDocPtr instance);
167XMLPUBFUN int XMLCALL
168 xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
169 xmlNodePtr elem);
170XMLPUBFUN int XMLCALL
171 xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt,
172 xmlParserInputBufferPtr input,
173 xmlCharEncoding enc,
174 xmlSAXHandlerPtr sax,
175 void *user_data);
176XMLPUBFUN int XMLCALL
177 xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt,
178 const char * filename,
179 int options);
180
181/*
182 * Interface to insert Schemas SAX velidation in a SAX stream
183 */
184typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
185typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
186
187XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
188 xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt,
189 xmlSAXHandlerPtr *sax,
190 void **user_data);
191XMLPUBFUN int XMLCALL
192 xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug);
193#ifdef __cplusplus
194}
195#endif
196
197#endif /* LIBXML_SCHEMAS_ENABLED */
198#endif /* __XML_SCHEMA_H__ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette