[LIBXML2]
[reactos.git] / reactos / include / reactos / libs / libxml / xmlschemastypes.h
1 /*
2 * Summary: implementation of XML Schema Datatypes
3 * Description: module providing the XML Schema Datatypes implementation
4 * both definition and validity checking
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11
12 #ifndef __XML_SCHEMA_TYPES_H__
13 #define __XML_SCHEMA_TYPES_H__
14
15 #include <libxml/xmlversion.h>
16
17 #ifdef LIBXML_SCHEMAS_ENABLED
18
19 #include <libxml/schemasInternals.h>
20 #include <libxml/xmlschemas.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 typedef enum {
27 XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
28 XML_SCHEMA_WHITESPACE_PRESERVE = 1,
29 XML_SCHEMA_WHITESPACE_REPLACE = 2,
30 XML_SCHEMA_WHITESPACE_COLLAPSE = 3
31 } xmlSchemaWhitespaceValueType;
32
33 XMLPUBFUN void XMLCALL
34 xmlSchemaInitTypes (void);
35 XMLPUBFUN void XMLCALL
36 xmlSchemaCleanupTypes (void);
37 XMLPUBFUN xmlSchemaTypePtr XMLCALL
38 xmlSchemaGetPredefinedType (const xmlChar *name,
39 const xmlChar *ns);
40 XMLPUBFUN int XMLCALL
41 xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
42 const xmlChar *value,
43 xmlSchemaValPtr *val);
44 XMLPUBFUN int XMLCALL
45 xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
46 const xmlChar *value,
47 xmlSchemaValPtr *val,
48 xmlNodePtr node);
49 XMLPUBFUN int XMLCALL
50 xmlSchemaValidateFacet (xmlSchemaTypePtr base,
51 xmlSchemaFacetPtr facet,
52 const xmlChar *value,
53 xmlSchemaValPtr val);
54 XMLPUBFUN int XMLCALL
55 xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
56 xmlSchemaWhitespaceValueType fws,
57 xmlSchemaValType valType,
58 const xmlChar *value,
59 xmlSchemaValPtr val,
60 xmlSchemaWhitespaceValueType ws);
61 XMLPUBFUN void XMLCALL
62 xmlSchemaFreeValue (xmlSchemaValPtr val);
63 XMLPUBFUN xmlSchemaFacetPtr XMLCALL
64 xmlSchemaNewFacet (void);
65 XMLPUBFUN int XMLCALL
66 xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
67 xmlSchemaTypePtr typeDecl,
68 xmlSchemaParserCtxtPtr ctxt,
69 const xmlChar *name);
70 XMLPUBFUN void XMLCALL
71 xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
72 XMLPUBFUN int XMLCALL
73 xmlSchemaCompareValues (xmlSchemaValPtr x,
74 xmlSchemaValPtr y);
75 XMLPUBFUN xmlSchemaTypePtr XMLCALL
76 xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
77 XMLPUBFUN int XMLCALL
78 xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
79 const xmlChar *value,
80 unsigned long actualLen,
81 unsigned long *expectedLen);
82 XMLPUBFUN xmlSchemaTypePtr XMLCALL
83 xmlSchemaGetBuiltInType (xmlSchemaValType type);
84 XMLPUBFUN int XMLCALL
85 xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
86 int facetType);
87 XMLPUBFUN xmlChar * XMLCALL
88 xmlSchemaCollapseString (const xmlChar *value);
89 XMLPUBFUN xmlChar * XMLCALL
90 xmlSchemaWhiteSpaceReplace (const xmlChar *value);
91 XMLPUBFUN unsigned long XMLCALL
92 xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
93 XMLPUBFUN int XMLCALL
94 xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
95 xmlSchemaFacetPtr facet,
96 const xmlChar *value,
97 xmlSchemaValPtr val,
98 unsigned long *length);
99 XMLPUBFUN int XMLCALL
100 xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
101 xmlSchemaValType valType,
102 const xmlChar *value,
103 xmlSchemaValPtr val,
104 unsigned long *length,
105 xmlSchemaWhitespaceValueType ws);
106 XMLPUBFUN int XMLCALL
107 xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
108 const xmlChar *value,
109 xmlSchemaValPtr *val,
110 xmlNodePtr node);
111 XMLPUBFUN int XMLCALL
112 xmlSchemaGetCanonValue (xmlSchemaValPtr val,
113 const xmlChar **retValue);
114 XMLPUBFUN int XMLCALL
115 xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
116 const xmlChar **retValue,
117 xmlSchemaWhitespaceValueType ws);
118 XMLPUBFUN int XMLCALL
119 xmlSchemaValueAppend (xmlSchemaValPtr prev,
120 xmlSchemaValPtr cur);
121 XMLPUBFUN xmlSchemaValPtr XMLCALL
122 xmlSchemaValueGetNext (xmlSchemaValPtr cur);
123 XMLPUBFUN const xmlChar * XMLCALL
124 xmlSchemaValueGetAsString (xmlSchemaValPtr val);
125 XMLPUBFUN int XMLCALL
126 xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);
127 XMLPUBFUN xmlSchemaValPtr XMLCALL
128 xmlSchemaNewStringValue (xmlSchemaValType type,
129 const xmlChar *value);
130 XMLPUBFUN xmlSchemaValPtr XMLCALL
131 xmlSchemaNewNOTATIONValue (const xmlChar *name,
132 const xmlChar *ns);
133 XMLPUBFUN xmlSchemaValPtr XMLCALL
134 xmlSchemaNewQNameValue (const xmlChar *namespaceName,
135 const xmlChar *localName);
136 XMLPUBFUN int XMLCALL
137 xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
138 xmlSchemaWhitespaceValueType xws,
139 xmlSchemaValPtr y,
140 xmlSchemaWhitespaceValueType yws);
141 XMLPUBFUN xmlSchemaValPtr XMLCALL
142 xmlSchemaCopyValue (xmlSchemaValPtr val);
143 XMLPUBFUN xmlSchemaValType XMLCALL
144 xmlSchemaGetValType (xmlSchemaValPtr val);
145
146 #ifdef __cplusplus
147 }
148 #endif
149
150 #endif /* LIBXML_SCHEMAS_ENABLED */
151 #endif /* __XML_SCHEMA_TYPES_H__ */