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