Edit

kc3-lang/libxml2/include/libxml/xmlschemastypes.h

Branch :

  • Show log

    Commit

  • Author : Kasimier T. Buchcik
    Date : 2005-06-09 10:32:53
    Hash : 4efd90d9
    Message : Changed the validation process to be able to work in streaming mode. Some * xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h: Changed the validation process to be able to work in streaming mode. Some datatype fixes, especially for list and union types. Due to the changes the error report output has changed in most cases. Initial migration to functions usable by both, the parser and the validator. This should ease a yet-to-come XS construction API in the long term as well.

  • include/libxml/xmlschemastypes.h
  • /*
     * Summary: implementation of XML Schema Datatypes
     * Description: module providing the XML Schema Datatypes implementation
     *              both definition and validity checking
     *
     * Copy: See Copyright for the status of this software.
     *
     * Author: Daniel Veillard
     */
    
    
    #ifndef __XML_SCHEMA_TYPES_H__
    #define __XML_SCHEMA_TYPES_H__
    
    #include <libxml/xmlversion.h>
    
    #ifdef LIBXML_SCHEMAS_ENABLED
    
    #include <libxml/schemasInternals.h>
    #include <libxml/xmlschemas.h>
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    typedef enum {
        XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
        XML_SCHEMA_WHITESPACE_PRESERVE = 1,
        XML_SCHEMA_WHITESPACE_REPLACE = 2,
        XML_SCHEMA_WHITESPACE_COLLAPSE = 3
    } xmlSchemaWhitespaceValueType;
    
    XMLPUBFUN void XMLCALL		
        		xmlSchemaInitTypes		(void);
    XMLPUBFUN void XMLCALL		
    		xmlSchemaCleanupTypes		(void);
    XMLPUBFUN xmlSchemaTypePtr XMLCALL 
    		xmlSchemaGetPredefinedType	(const xmlChar *name,
    						 const xmlChar *ns);
    XMLPUBFUN int XMLCALL		
    		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
    						 const xmlChar *value,
    						 xmlSchemaValPtr *val);
    XMLPUBFUN int XMLCALL		
    		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
    						 const xmlChar *value,
    						 xmlSchemaValPtr *val,
    						 xmlNodePtr node);
    XMLPUBFUN int XMLCALL		
    		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
    						 xmlSchemaFacetPtr facet,
    						 const xmlChar *value,
    						 xmlSchemaValPtr val);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
    						 xmlSchemaWhitespaceValueType fws,
    						 xmlSchemaValType valType,						 
    						 const xmlChar *value,
    						 xmlSchemaValPtr val,
    						 xmlSchemaWhitespaceValueType ws);
    XMLPUBFUN void XMLCALL		
    		xmlSchemaFreeValue		(xmlSchemaValPtr val);
    XMLPUBFUN xmlSchemaFacetPtr XMLCALL 
    		xmlSchemaNewFacet		(void);
    XMLPUBFUN int XMLCALL		
    		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
    						 xmlSchemaTypePtr typeDecl,
    						 xmlSchemaParserCtxtPtr ctxt,
    						 const xmlChar *name);
    XMLPUBFUN void XMLCALL		
    		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
    XMLPUBFUN int XMLCALL		
    		xmlSchemaCompareValues		(xmlSchemaValPtr x,
    						 xmlSchemaValPtr y);
    XMLPUBFUN xmlSchemaTypePtr XMLCALL		
        xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
    XMLPUBFUN int XMLCALL
        xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
    						 const xmlChar *value,
    						 unsigned long actualLen,
    						 unsigned long *expectedLen);
    XMLPUBFUN xmlSchemaTypePtr XMLCALL
    		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
    XMLPUBFUN int XMLCALL
    		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type, 
    						 int facetType);
    XMLPUBFUN xmlChar * XMLCALL
    		xmlSchemaCollapseString		(const xmlChar *value);
    XMLPUBFUN xmlChar * XMLCALL
    		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
    XMLPUBFUN unsigned long  XMLCALL
    		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type, 
    						 xmlSchemaFacetPtr facet,
    						 const xmlChar *value,
    						 xmlSchemaValPtr val,
    						 unsigned long *length);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
    						  xmlSchemaValType valType,
    						  const xmlChar *value,
    						  xmlSchemaValPtr val,						  
    						  unsigned long *length,
    						  xmlSchemaWhitespaceValueType ws);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, 
    						 const xmlChar *value,
    						 xmlSchemaValPtr *val, 
    						 xmlNodePtr node);
    XMLPUBFUN int XMLCALL
    		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
    						 const xmlChar **retValue);
    XMLPUBFUN int XMLCALL
    		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,						 
    						 const xmlChar **retValue,
    						 xmlSchemaWhitespaceValueType ws);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
    						 xmlSchemaValPtr cur);
    XMLPUBFUN xmlSchemaValPtr XMLCALL
    		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
    XMLPUBFUN const xmlChar * XMLCALL
    		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
    XMLPUBFUN int XMLCALL
    		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
    XMLPUBFUN xmlSchemaValPtr XMLCALL
    		xmlSchemaNewStringValue		(xmlSchemaValType type,
    						 const xmlChar *value);
    XMLPUBFUN xmlSchemaValPtr XMLCALL
    		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
    						 const xmlChar *ns);
    XMLPUBFUN xmlSchemaValPtr XMLCALL
    		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
    						 const xmlChar *localName);
    XMLPUBFUN int XMLCALL
    		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
    						 xmlSchemaWhitespaceValueType xws,
    						 xmlSchemaValPtr y,
    						 xmlSchemaWhitespaceValueType yws);
    XMLPUBFUN xmlSchemaValPtr XMLCALL
    		xmlSchemaCopyValue		(xmlSchemaValPtr val);
    XMLPUBFUN xmlSchemaValType XMLCALL
    		xmlSchemaGetValType		(xmlSchemaValPtr val);
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif /* LIBXML_SCHEMAS_ENABLED */
    #endif /* __XML_SCHEMA_TYPES_H__ */