(root)/
libxml2-2.12.3/
include/
libxml/
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 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__ */