codekingpro/portable-devtools
115k
1/*2 * Summary: implementation of XML Schema Datatypes3 * Description: module providing the XML Schema Datatypes implementation4 * both definition and validity checking5 *6 * Copy: See Copyright for the status of this software.7 *8 * Author: Daniel Veillard9 */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_ENABLED18 19#include <libxml/schemasInternals.h>20#include <libxml/xmlschemas.h>21 22#ifdef __cplusplus23extern "C" {24#endif25 26typedef enum {27 XML_SCHEMA_WHITESPACE_UNKNOWN = 0,28 XML_SCHEMA_WHITESPACE_PRESERVE = 1,29 XML_SCHEMA_WHITESPACE_REPLACE = 2,30 XML_SCHEMA_WHITESPACE_COLLAPSE = 331} xmlSchemaWhitespaceValueType;32 33XMLPUBFUN int34 xmlSchemaInitTypes (void);35XML_DEPRECATED36XMLPUBFUN void37 xmlSchemaCleanupTypes (void);38XMLPUBFUN xmlSchemaTypePtr39 xmlSchemaGetPredefinedType (const xmlChar *name,40 const xmlChar *ns);41XMLPUBFUN int42 xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,43 const xmlChar *value,44 xmlSchemaValPtr *val);45XMLPUBFUN int46 xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,47 const xmlChar *value,48 xmlSchemaValPtr *val,49 xmlNodePtr node);50XMLPUBFUN int51 xmlSchemaValidateFacet (xmlSchemaTypePtr base,52 xmlSchemaFacetPtr facet,53 const xmlChar *value,54 xmlSchemaValPtr val);55XMLPUBFUN int56 xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,57 xmlSchemaWhitespaceValueType fws,58 xmlSchemaValType valType,59 const xmlChar *value,60 xmlSchemaValPtr val,61 xmlSchemaWhitespaceValueType ws);62XMLPUBFUN void63 xmlSchemaFreeValue (xmlSchemaValPtr val);64XMLPUBFUN xmlSchemaFacetPtr65 xmlSchemaNewFacet (void);66XMLPUBFUN int67 xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,68 xmlSchemaTypePtr typeDecl,69 xmlSchemaParserCtxtPtr ctxt,70 const xmlChar *name);71XMLPUBFUN void72 xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);73XMLPUBFUN int74 xmlSchemaCompareValues (xmlSchemaValPtr x,75 xmlSchemaValPtr y);76XMLPUBFUN xmlSchemaTypePtr77 xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);78XMLPUBFUN int79 xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,80 const xmlChar *value,81 unsigned long actualLen,82 unsigned long *expectedLen);83XMLPUBFUN xmlSchemaTypePtr84 xmlSchemaGetBuiltInType (xmlSchemaValType type);85XMLPUBFUN int86 xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,87 int facetType);88XMLPUBFUN xmlChar *89 xmlSchemaCollapseString (const xmlChar *value);90XMLPUBFUN xmlChar *91 xmlSchemaWhiteSpaceReplace (const xmlChar *value);92XMLPUBFUN unsigned long 93 xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);94XMLPUBFUN int95 xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,96 xmlSchemaFacetPtr facet,97 const xmlChar *value,98 xmlSchemaValPtr val,99 unsigned long *length);100XMLPUBFUN int101 xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,102 xmlSchemaValType valType,103 const xmlChar *value,104 xmlSchemaValPtr val,105 unsigned long *length,106 xmlSchemaWhitespaceValueType ws);107XMLPUBFUN int108 xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,109 const xmlChar *value,110 xmlSchemaValPtr *val,111 xmlNodePtr node);112XMLPUBFUN int113 xmlSchemaGetCanonValue (xmlSchemaValPtr val,114 const xmlChar **retValue);115XMLPUBFUN int116 xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,117 const xmlChar **retValue,118 xmlSchemaWhitespaceValueType ws);119XMLPUBFUN int120 xmlSchemaValueAppend (xmlSchemaValPtr prev,121 xmlSchemaValPtr cur);122XMLPUBFUN xmlSchemaValPtr123 xmlSchemaValueGetNext (xmlSchemaValPtr cur);124XMLPUBFUN const xmlChar *125 xmlSchemaValueGetAsString (xmlSchemaValPtr val);126XMLPUBFUN int127 xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);128XMLPUBFUN xmlSchemaValPtr129 xmlSchemaNewStringValue (xmlSchemaValType type,130 const xmlChar *value);131XMLPUBFUN xmlSchemaValPtr132 xmlSchemaNewNOTATIONValue (const xmlChar *name,133 const xmlChar *ns);134XMLPUBFUN xmlSchemaValPtr135 xmlSchemaNewQNameValue (const xmlChar *namespaceName,136 const xmlChar *localName);137XMLPUBFUN int138 xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,139 xmlSchemaWhitespaceValueType xws,140 xmlSchemaValPtr y,141 xmlSchemaWhitespaceValueType yws);142XMLPUBFUN xmlSchemaValPtr143 xmlSchemaCopyValue (xmlSchemaValPtr val);144XMLPUBFUN xmlSchemaValType145 xmlSchemaGetValType (xmlSchemaValPtr val);146 147#ifdef __cplusplus148}149#endif150 151#endif /* LIBXML_SCHEMAS_ENABLED */152#endif /* __XML_SCHEMA_TYPES_H__ */153 