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__ */ |
152 | |