Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gnulib-local / lib / libxml / xmlschemastypes.in.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__ */