mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-21 14:53:44 +03:00
* xmlschemas.c include/libxml/schemasInternals.h test/schemas/bug152470_1.* result/schemas/bug152470_1_1*: Simpified attribute wildcard creation and assignment to get rid of memory leaks. Restructured the validation process. Restructured and expanded parsing of <attributeGroup>. Added initial handing of xsi:type. Advanced handling of xsi:nil (should work now for simple types). Added construction of schemata using xsi:schemaLocation and xsi:noNamespaceSchemaLocation; this is not enabled, since no corresponding API exists yet. Moved the content model to complex type components. Resolution of types for attributes will look for simple types only (incl. all the built-in simple types). Extended parsing of 'anyAttribute'. Fixed content-type type for complex types if derived from 'anyType' using the short-hand form (see bug # 152470, submitted by Thilo Jeremias). * include/libxml/xmlschematypes.h: Cleaned up some comments. * xstc/xstc.py: Workaround to accomodate case insensitive test definitions in ms-test.def.xml. * result/schemas/deter0_0_0.err result/schemas/ns0_0_2.err result/schemas/ns0_1_2.err: Adapted.
93 lines
2.7 KiB
C
93 lines
2.7 KiB
C
/*
|
|
* 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
|
|
|
|
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 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 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
|
|
xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, const xmlChar *value,
|
|
xmlSchemaValPtr *val, xmlNodePtr node);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* LIBXML_SCHEMAS_ENABLED */
|
|
#endif /* __XML_SCHEMA_TYPES_H__ */
|