xref: /aosp_15_r20/external/cronet/third_party/libxml/src/include/libxml/xmlschemastypes.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 int
34 		xmlSchemaInitTypes		(void);
35 XML_DEPRECATED
36 XMLPUBFUN void
37 		xmlSchemaCleanupTypes		(void);
38 XMLPUBFUN xmlSchemaTypePtr
39 		xmlSchemaGetPredefinedType	(const xmlChar *name,
40 						 const xmlChar *ns);
41 XMLPUBFUN int
42 		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
43 						 const xmlChar *value,
44 						 xmlSchemaValPtr *val);
45 XMLPUBFUN int
46 		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
47 						 const xmlChar *value,
48 						 xmlSchemaValPtr *val,
49 						 xmlNodePtr node);
50 XMLPUBFUN int
51 		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
52 						 xmlSchemaFacetPtr facet,
53 						 const xmlChar *value,
54 						 xmlSchemaValPtr val);
55 XMLPUBFUN int
56 		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
57 						 xmlSchemaWhitespaceValueType fws,
58 						 xmlSchemaValType valType,
59 						 const xmlChar *value,
60 						 xmlSchemaValPtr val,
61 						 xmlSchemaWhitespaceValueType ws);
62 XMLPUBFUN void
63 		xmlSchemaFreeValue		(xmlSchemaValPtr val);
64 XMLPUBFUN xmlSchemaFacetPtr
65 		xmlSchemaNewFacet		(void);
66 XMLPUBFUN int
67 		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
68 						 xmlSchemaTypePtr typeDecl,
69 						 xmlSchemaParserCtxtPtr ctxt,
70 						 const xmlChar *name);
71 XMLPUBFUN void
72 		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
73 XMLPUBFUN int
74 		xmlSchemaCompareValues		(xmlSchemaValPtr x,
75 						 xmlSchemaValPtr y);
76 XMLPUBFUN xmlSchemaTypePtr
77     xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
78 XMLPUBFUN int
79     xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
80 						 const xmlChar *value,
81 						 unsigned long actualLen,
82 						 unsigned long *expectedLen);
83 XMLPUBFUN xmlSchemaTypePtr
84 		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
85 XMLPUBFUN int
86 		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type,
87 						 int facetType);
88 XMLPUBFUN xmlChar *
89 		xmlSchemaCollapseString		(const xmlChar *value);
90 XMLPUBFUN xmlChar *
91 		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
92 XMLPUBFUN unsigned long
93 		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
94 XMLPUBFUN int
95 		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type,
96 						 xmlSchemaFacetPtr facet,
97 						 const xmlChar *value,
98 						 xmlSchemaValPtr val,
99 						 unsigned long *length);
100 XMLPUBFUN int
101 		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
102 						  xmlSchemaValType valType,
103 						  const xmlChar *value,
104 						  xmlSchemaValPtr val,
105 						  unsigned long *length,
106 						  xmlSchemaWhitespaceValueType ws);
107 XMLPUBFUN int
108 		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
109 						 const xmlChar *value,
110 						 xmlSchemaValPtr *val,
111 						 xmlNodePtr node);
112 XMLPUBFUN int
113 		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
114 						 const xmlChar **retValue);
115 XMLPUBFUN int
116 		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,
117 						 const xmlChar **retValue,
118 						 xmlSchemaWhitespaceValueType ws);
119 XMLPUBFUN int
120 		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
121 						 xmlSchemaValPtr cur);
122 XMLPUBFUN xmlSchemaValPtr
123 		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
124 XMLPUBFUN const xmlChar *
125 		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
126 XMLPUBFUN int
127 		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
128 XMLPUBFUN xmlSchemaValPtr
129 		xmlSchemaNewStringValue		(xmlSchemaValType type,
130 						 const xmlChar *value);
131 XMLPUBFUN xmlSchemaValPtr
132 		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
133 						 const xmlChar *ns);
134 XMLPUBFUN xmlSchemaValPtr
135 		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
136 						 const xmlChar *localName);
137 XMLPUBFUN int
138 		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
139 						 xmlSchemaWhitespaceValueType xws,
140 						 xmlSchemaValPtr y,
141 						 xmlSchemaWhitespaceValueType yws);
142 XMLPUBFUN xmlSchemaValPtr
143 		xmlSchemaCopyValue		(xmlSchemaValPtr val);
144 XMLPUBFUN xmlSchemaValType
145 		xmlSchemaGetValType		(xmlSchemaValPtr val);
146 
147 #ifdef __cplusplus
148 }
149 #endif
150 
151 #endif /* LIBXML_SCHEMAS_ENABLED */
152 #endif /* __XML_SCHEMA_TYPES_H__ */
153