/ libxml2 / include / libxml / xmlschemastypes.h
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__ */