Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:41:52

0001 /*
0002  * Summary: implementation of XML Schema Datatypes
0003  * Description: module providing the XML Schema Datatypes implementation
0004  *              both definition and validity checking
0005  *
0006  * Copy: See Copyright for the status of this software.
0007  *
0008  * Author: Daniel Veillard
0009  */
0010 
0011 
0012 #ifndef __XML_SCHEMA_TYPES_H__
0013 #define __XML_SCHEMA_TYPES_H__
0014 
0015 #include <libxml/xmlversion.h>
0016 
0017 #ifdef LIBXML_SCHEMAS_ENABLED
0018 
0019 #include <libxml/schemasInternals.h>
0020 #include <libxml/xmlschemas.h>
0021 
0022 #ifdef __cplusplus
0023 extern "C" {
0024 #endif
0025 
0026 typedef enum {
0027     XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
0028     XML_SCHEMA_WHITESPACE_PRESERVE = 1,
0029     XML_SCHEMA_WHITESPACE_REPLACE = 2,
0030     XML_SCHEMA_WHITESPACE_COLLAPSE = 3
0031 } xmlSchemaWhitespaceValueType;
0032 
0033 XMLPUBFUN int
0034         xmlSchemaInitTypes      (void);
0035 XML_DEPRECATED
0036 XMLPUBFUN void
0037         xmlSchemaCleanupTypes       (void);
0038 XMLPUBFUN xmlSchemaTypePtr
0039         xmlSchemaGetPredefinedType  (const xmlChar *name,
0040                          const xmlChar *ns);
0041 XMLPUBFUN int
0042         xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
0043                          const xmlChar *value,
0044                          xmlSchemaValPtr *val);
0045 XMLPUBFUN int
0046         xmlSchemaValPredefTypeNode  (xmlSchemaTypePtr type,
0047                          const xmlChar *value,
0048                          xmlSchemaValPtr *val,
0049                          xmlNodePtr node);
0050 XMLPUBFUN int
0051         xmlSchemaValidateFacet      (xmlSchemaTypePtr base,
0052                          xmlSchemaFacetPtr facet,
0053                          const xmlChar *value,
0054                          xmlSchemaValPtr val);
0055 XMLPUBFUN int
0056         xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
0057                          xmlSchemaWhitespaceValueType fws,
0058                          xmlSchemaValType valType,
0059                          const xmlChar *value,
0060                          xmlSchemaValPtr val,
0061                          xmlSchemaWhitespaceValueType ws);
0062 XMLPUBFUN void
0063         xmlSchemaFreeValue      (xmlSchemaValPtr val);
0064 XMLPUBFUN xmlSchemaFacetPtr
0065         xmlSchemaNewFacet       (void);
0066 XMLPUBFUN int
0067         xmlSchemaCheckFacet     (xmlSchemaFacetPtr facet,
0068                          xmlSchemaTypePtr typeDecl,
0069                          xmlSchemaParserCtxtPtr ctxt,
0070                          const xmlChar *name);
0071 XMLPUBFUN void
0072         xmlSchemaFreeFacet      (xmlSchemaFacetPtr facet);
0073 XMLPUBFUN int
0074         xmlSchemaCompareValues      (xmlSchemaValPtr x,
0075                          xmlSchemaValPtr y);
0076 XMLPUBFUN xmlSchemaTypePtr
0077     xmlSchemaGetBuiltInListSimpleTypeItemType   (xmlSchemaTypePtr type);
0078 XMLPUBFUN int
0079     xmlSchemaValidateListSimpleTypeFacet    (xmlSchemaFacetPtr facet,
0080                          const xmlChar *value,
0081                          unsigned long actualLen,
0082                          unsigned long *expectedLen);
0083 XMLPUBFUN xmlSchemaTypePtr
0084         xmlSchemaGetBuiltInType     (xmlSchemaValType type);
0085 XMLPUBFUN int
0086         xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
0087                          int facetType);
0088 XMLPUBFUN xmlChar *
0089         xmlSchemaCollapseString     (const xmlChar *value);
0090 XMLPUBFUN xmlChar *
0091         xmlSchemaWhiteSpaceReplace  (const xmlChar *value);
0092 XMLPUBFUN unsigned long 
0093         xmlSchemaGetFacetValueAsULong   (xmlSchemaFacetPtr facet);
0094 XMLPUBFUN int
0095         xmlSchemaValidateLengthFacet    (xmlSchemaTypePtr type,
0096                          xmlSchemaFacetPtr facet,
0097                          const xmlChar *value,
0098                          xmlSchemaValPtr val,
0099                          unsigned long *length);
0100 XMLPUBFUN int
0101         xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
0102                           xmlSchemaValType valType,
0103                           const xmlChar *value,
0104                           xmlSchemaValPtr val,
0105                           unsigned long *length,
0106                           xmlSchemaWhitespaceValueType ws);
0107 XMLPUBFUN int
0108         xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
0109                          const xmlChar *value,
0110                          xmlSchemaValPtr *val,
0111                          xmlNodePtr node);
0112 XMLPUBFUN int
0113         xmlSchemaGetCanonValue      (xmlSchemaValPtr val,
0114                          const xmlChar **retValue);
0115 XMLPUBFUN int
0116         xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
0117                          const xmlChar **retValue,
0118                          xmlSchemaWhitespaceValueType ws);
0119 XMLPUBFUN int
0120         xmlSchemaValueAppend        (xmlSchemaValPtr prev,
0121                          xmlSchemaValPtr cur);
0122 XMLPUBFUN xmlSchemaValPtr
0123         xmlSchemaValueGetNext       (xmlSchemaValPtr cur);
0124 XMLPUBFUN const xmlChar *
0125         xmlSchemaValueGetAsString   (xmlSchemaValPtr val);
0126 XMLPUBFUN int
0127         xmlSchemaValueGetAsBoolean  (xmlSchemaValPtr val);
0128 XMLPUBFUN xmlSchemaValPtr
0129         xmlSchemaNewStringValue     (xmlSchemaValType type,
0130                          const xmlChar *value);
0131 XMLPUBFUN xmlSchemaValPtr
0132         xmlSchemaNewNOTATIONValue   (const xmlChar *name,
0133                          const xmlChar *ns);
0134 XMLPUBFUN xmlSchemaValPtr
0135         xmlSchemaNewQNameValue      (const xmlChar *namespaceName,
0136                          const xmlChar *localName);
0137 XMLPUBFUN int
0138         xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
0139                          xmlSchemaWhitespaceValueType xws,
0140                          xmlSchemaValPtr y,
0141                          xmlSchemaWhitespaceValueType yws);
0142 XMLPUBFUN xmlSchemaValPtr
0143         xmlSchemaCopyValue      (xmlSchemaValPtr val);
0144 XMLPUBFUN xmlSchemaValType
0145         xmlSchemaGetValType     (xmlSchemaValPtr val);
0146 
0147 #ifdef __cplusplus
0148 }
0149 #endif
0150 
0151 #endif /* LIBXML_SCHEMAS_ENABLED */
0152 #endif /* __XML_SCHEMA_TYPES_H__ */