diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libxml/DOCBparser.h | 6 | ||||
-rw-r--r-- | include/libxml/HTMLparser.h | 3 | ||||
-rw-r--r-- | include/libxml/HTMLtree.h | 3 | ||||
-rw-r--r-- | include/libxml/SAX.h | 5 | ||||
-rw-r--r-- | include/libxml/c14n.h | 2 | ||||
-rw-r--r-- | include/libxml/globals.h | 33 | ||||
-rw-r--r-- | include/libxml/nanoftp.h | 2 | ||||
-rw-r--r-- | include/libxml/parser.h | 17 | ||||
-rw-r--r-- | include/libxml/pattern.h | 5 | ||||
-rw-r--r-- | include/libxml/relaxng.h | 5 | ||||
-rw-r--r-- | include/libxml/schemasInternals.h | 293 | ||||
-rw-r--r-- | include/libxml/uri.h | 7 | ||||
-rw-r--r-- | include/libxml/valid.h | 8 | ||||
-rw-r--r-- | include/libxml/xinclude.h | 5 | ||||
-rw-r--r-- | include/libxml/xmlIO.h | 10 | ||||
-rw-r--r-- | include/libxml/xmlerror.h | 81 | ||||
-rw-r--r-- | include/libxml/xmlreader.h | 5 | ||||
-rw-r--r-- | include/libxml/xmlsave.h | 4 | ||||
-rw-r--r-- | include/libxml/xmlschemastypes.h | 14 | ||||
-rw-r--r-- | include/libxml/xmlunicode.h | 5 | ||||
-rw-r--r-- | include/libxml/xmlversion.h | 8 | ||||
-rw-r--r-- | include/libxml/xmlwriter.h | 7 | ||||
-rw-r--r-- | include/libxml/xpath.h | 5 | ||||
-rw-r--r-- | include/libxml/xpathInternals.h | 4 | ||||
-rw-r--r-- | include/libxml/xpointer.h | 5 |
25 files changed, 523 insertions, 19 deletions
diff --git a/include/libxml/DOCBparser.h b/include/libxml/DOCBparser.h index d30aaea..461d4ee 100644 --- a/include/libxml/DOCBparser.h +++ b/include/libxml/DOCBparser.h @@ -11,6 +11,9 @@ #ifndef __DOCB_PARSER_H__ #define __DOCB_PARSER_H__ #include <libxml/xmlversion.h> + +#ifdef LIBXML_DOCB_ENABLED + #include <libxml/parser.h> #include <libxml/parserInternals.h> @@ -87,4 +90,7 @@ XMLPUBFUN int XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_DOCB_ENABLED */ + #endif /* __DOCB_PARSER_H__ */ diff --git a/include/libxml/HTMLparser.h b/include/libxml/HTMLparser.h index f39f0bb..2604d86 100644 --- a/include/libxml/HTMLparser.h +++ b/include/libxml/HTMLparser.h @@ -15,6 +15,8 @@ #include <libxml/xmlversion.h> #include <libxml/parser.h> +#ifdef LIBXML_HTML_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -292,4 +294,5 @@ XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ; } #endif +#endif /* LIBXML_HTML_ENABLED */ #endif /* __HTML_PARSER_H__ */ diff --git a/include/libxml/HTMLtree.h b/include/libxml/HTMLtree.h index 157aa67..50b8544 100644 --- a/include/libxml/HTMLtree.h +++ b/include/libxml/HTMLtree.h @@ -16,6 +16,7 @@ #include <libxml/tree.h> #include <libxml/HTMLparser.h> +#ifdef LIBXML_HTML_ENABLED #ifdef __cplusplus extern "C" { @@ -135,5 +136,7 @@ XMLPUBFUN int XMLCALL } #endif +#endif /* LIBXML_HTML_ENABLED */ + #endif /* __HTML_TREE_H__ */ diff --git a/include/libxml/SAX.h b/include/libxml/SAX.h index a305b69..91b3fbc 100644 --- a/include/libxml/SAX.h +++ b/include/libxml/SAX.h @@ -18,6 +18,8 @@ #include <libxml/parser.h> #include <libxml/xlink.h> +#ifdef LIBXML_SAX1_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -162,4 +164,7 @@ XMLPUBFUN void XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_SAX1_ENABLED */ + #endif /* __XML_SAX_H__ */ diff --git a/include/libxml/c14n.h b/include/libxml/c14n.h index 4bc441c..9f4c6c0 100644 --- a/include/libxml/c14n.h +++ b/include/libxml/c14n.h @@ -16,6 +16,7 @@ */ #ifndef __XML_C14N_H__ #define __XML_C14N_H__ +#ifdef LIBXML_C14N_ENABLED #ifdef LIBXML_OUTPUT_ENABLED #ifdef __cplusplus @@ -99,5 +100,6 @@ XMLPUBFUN int XMLCALL #endif /* __cplusplus */ #endif /* LIBXML_OUTPUT_ENABLED */ +#endif /* LIBXML_C14N_ENABLED */ #endif /* __XML_C14N_H__ */ diff --git a/include/libxml/globals.h b/include/libxml/globals.h index 1be2d1f..1173a8f 100644 --- a/include/libxml/globals.h +++ b/include/libxml/globals.h @@ -28,6 +28,13 @@ extern "C" { XMLPUBFUN void XMLCALL xmlInitGlobals(void); XMLPUBFUN void XMLCALL xmlCleanupGlobals(void); +typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc); +typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression); +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc +XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func); +XMLPUBFUN xmlOutputBufferCreateFilenameFunc +XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func); + /* * Externally global symbols which need to be protected for backwards * compatibility support. @@ -63,6 +70,8 @@ XMLPUBFUN void XMLCALL xmlCleanupGlobals(void); #undef xmlRegisterNodeDefaultValue #undef xmlDeregisterNodeDefaultValue #undef xmlLastError +#undef xmlParserInputBufferCreateFilenameValue +#undef xmlOutputBufferCreateFilenameValue typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node); typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node); @@ -110,6 +119,9 @@ struct _xmlGlobalState xmlMallocFunc xmlMallocAtomic; xmlError xmlLastError; + + xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; + xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; }; #ifdef __cplusplus @@ -131,6 +143,11 @@ XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNo XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func); XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); +XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL + xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func); +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL + xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func); + /** DOC_DISABLE */ /* * In general the memory allocation entry points are not kept @@ -415,6 +432,22 @@ XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void); XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; #endif +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlParserInputBufferCreateFilenameValue \ +(*(__xmlParserInputBufferCreateFilenameValue())) +#else +XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; +#endif + +XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlOutputBufferCreateFilenameValue \ +(*(__xmlOutputBufferCreateFilenameValue())) +#else +XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; +#endif + #ifdef __cplusplus } #endif diff --git a/include/libxml/nanoftp.h b/include/libxml/nanoftp.h index 01fadb8..95280db 100644 --- a/include/libxml/nanoftp.h +++ b/include/libxml/nanoftp.h @@ -138,6 +138,6 @@ XMLPUBFUN int XMLCALL #ifdef __cplusplus } -#endif /* LIBXML_FTP_ENABLED */ #endif +#endif /* LIBXML_FTP_ENABLED */ #endif /* __NANO_FTP_H__ */ diff --git a/include/libxml/parser.h b/include/libxml/parser.h index 2cecb20..2826c2b 100644 --- a/include/libxml/parser.h +++ b/include/libxml/parser.h @@ -156,6 +156,20 @@ typedef enum { #define XML_SKIP_IDS 8 /** + * xmlParserMode: + * + * A parser can operate in various modes + */ +typedef enum { + XML_PARSE_UNKNOWN = 0, + XML_PARSE_DOM = 1, + XML_PARSE_SAX = 2, + XML_PARSE_PUSH_DOM = 3, + XML_PARSE_PUSH_SAX = 4, + XML_PARSE_READER = 5 +} xmlParserMode; + +/** * xmlParserCtxt: * * The parser context. @@ -240,7 +254,7 @@ struct _xmlParserCtxt { int loadsubset; /* should the external subset be loaded */ int linenumbers; /* set line number in element content */ - void *catalogs; /* document's own catalog */ + void *catalogs; /* document's own catalog */ int recovery; /* run in recovery mode */ int progressive; /* is this a progressive parsing */ xmlDictPtr dict; /* dictionnary for the parser */ @@ -282,6 +296,7 @@ struct _xmlParserCtxt { * the complete error informations for the last error. */ xmlError lastError; + xmlParserMode parseMode; /* the parser mode */ }; /** diff --git a/include/libxml/pattern.h b/include/libxml/pattern.h index 9db9c4e..02c833b 100644 --- a/include/libxml/pattern.h +++ b/include/libxml/pattern.h @@ -15,6 +15,8 @@ #include <libxml/tree.h> #include <libxml/dict.h> +#ifdef LIBXML_PATTERN_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -45,4 +47,7 @@ XMLPUBFUN int XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_PATTERN_ENABLED */ + #endif /* __XML_PATTERN_H__ */ diff --git a/include/libxml/relaxng.h b/include/libxml/relaxng.h index e970289..3254400 100644 --- a/include/libxml/relaxng.h +++ b/include/libxml/relaxng.h @@ -14,6 +14,8 @@ #include <libxml/hash.h> #include <libxml/xmlstring.h> +#ifdef LIBXML_SCHEMAS_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -176,4 +178,7 @@ XMLPUBFUN int XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ + #endif /* __XML_RELAX_NG__ */ diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h index 5f42ddf..8433499 100644 --- a/include/libxml/schemasInternals.h +++ b/include/libxml/schemasInternals.h @@ -24,12 +24,61 @@ extern "C" { #endif +typedef enum { + XML_SCHEMAS_UNKNOWN = 0, + XML_SCHEMAS_STRING, + XML_SCHEMAS_NORMSTRING, + XML_SCHEMAS_DECIMAL, + XML_SCHEMAS_TIME, + XML_SCHEMAS_GDAY, + XML_SCHEMAS_GMONTH, + XML_SCHEMAS_GMONTHDAY, + XML_SCHEMAS_GYEAR, + XML_SCHEMAS_GYEARMONTH, + XML_SCHEMAS_DATE, + XML_SCHEMAS_DATETIME, + XML_SCHEMAS_DURATION, + XML_SCHEMAS_FLOAT, + XML_SCHEMAS_DOUBLE, + XML_SCHEMAS_BOOLEAN, + XML_SCHEMAS_TOKEN, + XML_SCHEMAS_LANGUAGE, + XML_SCHEMAS_NMTOKEN, + XML_SCHEMAS_NMTOKENS, + XML_SCHEMAS_NAME, + XML_SCHEMAS_QNAME, + XML_SCHEMAS_NCNAME, + XML_SCHEMAS_ID, + XML_SCHEMAS_IDREF, + XML_SCHEMAS_IDREFS, + XML_SCHEMAS_ENTITY, + XML_SCHEMAS_ENTITIES, + XML_SCHEMAS_NOTATION, + XML_SCHEMAS_ANYURI, + XML_SCHEMAS_INTEGER, + XML_SCHEMAS_NPINTEGER, + XML_SCHEMAS_NINTEGER, + XML_SCHEMAS_NNINTEGER, + XML_SCHEMAS_PINTEGER, + XML_SCHEMAS_INT, + XML_SCHEMAS_UINT, + XML_SCHEMAS_LONG, + XML_SCHEMAS_ULONG, + XML_SCHEMAS_SHORT, + XML_SCHEMAS_USHORT, + XML_SCHEMAS_BYTE, + XML_SCHEMAS_UBYTE, + XML_SCHEMAS_HEXBINARY, + XML_SCHEMAS_BASE64BINARY, + XML_SCHEMAS_ANYTYPE, + XML_SCHEMAS_ANYSIMPLETYPE +} xmlSchemaValType; /* * XML Schemas defines multiple type of types. */ typedef enum { - XML_SCHEMA_TYPE_BASIC = 1, + XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ XML_SCHEMA_TYPE_ANY, XML_SCHEMA_TYPE_FACET, XML_SCHEMA_TYPE_SIMPLE, @@ -70,7 +119,7 @@ typedef enum { XML_SCHEMA_CONTENT_ELEMENTS, XML_SCHEMA_CONTENT_MIXED, XML_SCHEMA_CONTENT_SIMPLE, - XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, + XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* obsolete, not used */ XML_SCHEMA_CONTENT_BASIC, XML_SCHEMA_CONTENT_ANY } xmlSchemaContentType; @@ -98,41 +147,68 @@ struct _xmlSchemaAnnot { * XML_SCHEMAS_ANYATTR_SKIP: * * Skip unknown attribute from validation + * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_SKIP 1 /** * XML_SCHEMAS_ANYATTR_LAX: * * Ignore validation non definition on attributes + * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_LAX 2 /** * XML_SCHEMAS_ANYATTR_STRICT: * * Apply strict validation rules on attributes + * Obsolete, not used anymore. */ #define XML_SCHEMAS_ANYATTR_STRICT 3 - +/** + * XML_SCHEMAS_ANY_SKIP: + * + * Skip unknown attribute from validation + */ +#define XML_SCHEMAS_ANY_SKIP 1 +/** + * XML_SCHEMAS_ANY_LAX: + * + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +#define XML_SCHEMAS_ANY_LAX 2 +/** + * XML_SCHEMAS_ANY_STRICT: + * + * Used by wildcards. + * Apply strict validation rules + */ +#define XML_SCHEMAS_ANY_STRICT 3 /** * XML_SCHEMAS_ATTR_USE_PROHIBITED: * + * Used by wildcards. * The attribute is prohibited. */ #define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 - /** * XML_SCHEMAS_ATTR_USE_REQUIRED: * * The attribute is required. */ #define XML_SCHEMAS_ATTR_USE_REQUIRED 1 - /** * XML_SCHEMAS_ATTR_USE_OPTIONAL: * * The attribute is optional. */ #define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 +/** + * XML_SCHEMAS_ATTR_GLOABAL: + * + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 /** * XML_SCHEMAS_ATTR_NSDEFAULT: @@ -169,6 +245,68 @@ struct _xmlSchemaAttribute { }; /** + * xmlSchemaAttributeLink: + * Used to build a list of attribute uses on complexType definitions. + */ +typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; +typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; +struct _xmlSchemaAttributeLink { + struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ + struct _xmlSchemaAttribute *attr;/* the linked attribute */ +}; + +/** + * XML_SCHEMAS_WILDCARD_COMPLETE: + * + * If the wildcard is complete. + */ +#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 + +/** + * xmlSchemaCharValueLink: + * Used to build a list of namespaces on wildcards. + */ +typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; +typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; +struct _xmlSchemaWildcardNs { + struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ + const xmlChar *value;/* the value */ +}; + +/** + * xmlSchemaWildcard. + * A wildcard. + */ +typedef struct _xmlSchemaWildcard xmlSchemaWildcard; +typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; +struct _xmlSchemaWildcard { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *id; + xmlSchemaAnnotPtr annot; + xmlNodePtr node; + int minOccurs; + int maxOccurs; + int processContents; + int any; /* Indicates if the ns constraint is of ##any */ + xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */ + xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */ + int flags; +}; + +/** + * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: + * + * The attribute wildcard has been already builded. + */ +#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 +/** + * XML_SCHEMAS_ATTRGROUP_GLOBAL: + * + * The attribute wildcard has been already builded. + */ +#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 + +/** * An attribute group definition. * * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures @@ -187,8 +325,32 @@ struct _xmlSchemaAttributeGroup { xmlSchemaAttributePtr attributes; xmlNodePtr node; + int flags; + xmlSchemaWildcardPtr attributeWildcard; }; +/** + * xmlSchemaTypeLink: + * Used to build a list of types (e.g. member types of + * simpleType with variety "union"). + */ +typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; +typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; +struct _xmlSchemaTypeLink { + struct _xmlSchemaTypeLink *next;/* the next type link ... */ + xmlSchemaTypePtr type;/* the linked type*/ +}; + +/** + * xmlSchemaFacetLink: + * Used to build a list of facets. + */ +typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; +typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; +struct _xmlSchemaFacetLink { + struct _xmlSchemaFacetLink *next;/* the next facet link ... */ + xmlSchemaFacetPtr facet;/* the linked facet */ +}; /** * XML_SCHEMAS_TYPE_MIXED: @@ -196,6 +358,91 @@ struct _xmlSchemaAttributeGroup { * the element content type is mixed */ #define XML_SCHEMAS_TYPE_MIXED 1 << 0 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: + * + * the simple or complex type has a derivation method of "extension". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: + * + * the simple or complex type has a derivation method of "restriction". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 +/** + * XML_SCHEMAS_TYPE_GLOBAL: + * + * the type is global + */ +#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 +/** + * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: + * + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 +/** + * XML_SCHEMAS_TYPE_VARIETY_ABSENT: + * + * the simpleType has a variety of "absent". + */ +#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 +/** + * XML_SCHEMAS_TYPE_VARIETY_LIST: + * + * the simpleType has a variety of "list". + */ +#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 +/** + * XML_SCHEMAS_TYPE_VARIETY_UNION: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 +/** + * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 +/** + * XML_SCHEMAS_TYPE_FINAL_EXTENSION: + * + * the complexType has a final of "extension". + */ +#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 +/** + * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: + * + * the simpleType/complexType has a final of "restriction". + */ +#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 +/** + * XML_SCHEMAS_TYPE_FINAL_LIST: + * + * the simpleType has a final of "list". + */ +#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 /** * _xmlSchemaType: @@ -224,6 +471,11 @@ struct _xmlSchemaType { xmlSchemaFacetPtr facets; struct _xmlSchemaType *redef;/* possible redefinitions for the type */ int recurse; + xmlSchemaAttributeLinkPtr attributeUses; + xmlSchemaWildcardPtr attributeWildcard; + int builtInType; + xmlSchemaTypeLinkPtr memberTypes; + xmlSchemaFacetLinkPtr facetSet; }; /* @@ -267,6 +519,7 @@ struct _xmlSchemaType { * XML_SCHEMAS_ELEM_TOPLEVEL: * * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead */ #define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 /** @@ -279,6 +532,7 @@ struct _xmlSchemaType { * XML_SCHEMAS_ELEM_NSDEFAULT: * * allow elements in no namespace + * Obsolete, not used anymore. */ #define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 @@ -335,7 +589,6 @@ struct _xmlSchemaElement { * collapse the types of the facet */ #define XML_SCHEMAS_FACET_COLLAPSE 3 - /** * A facet definition. */ @@ -375,7 +628,31 @@ struct _xmlSchemaNotation { * * the shemas requires qualified attributes */ -#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 +#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 +/** + * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: + * + * the shema has "extension" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 +/** + * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: + * + * the shema has "restriction" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 +/** + * XML_SCHEMAS_FINAL_DEFAULT_LIST: + * + * the shema has "list" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 +/** + * XML_SCHEMAS_FINAL_DEFAULT_UNION: + * + * the shema has "union" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 /** * _xmlSchema: * @@ -406,6 +683,7 @@ struct _xmlSchema { }; XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type); +XMLPUBFUN void XMLCALL xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard); #ifdef __cplusplus } @@ -414,4 +692,3 @@ XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type); #endif /* LIBXML_SCHEMAS_ENABLED */ #endif /* __XML_SCHEMA_INTERNALS_H__ */ - diff --git a/include/libxml/uri.h b/include/libxml/uri.h index 5e29e63..90ed06e 100644 --- a/include/libxml/uri.h +++ b/include/libxml/uri.h @@ -47,8 +47,11 @@ struct _xmlURI { XMLPUBFUN xmlURIPtr XMLCALL xmlCreateURI (void); XMLPUBFUN xmlChar * XMLCALL - xmlBuildURI (const xmlChar *URI, - const xmlChar *base); + xmlBuildURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN xmlChar * XMLCALL + xmlBuildRelativeURI (const xmlChar *URI, + const xmlChar *base); XMLPUBFUN xmlURIPtr XMLCALL xmlParseURI (const char *str); XMLPUBFUN int XMLCALL diff --git a/include/libxml/valid.h b/include/libxml/valid.h index 004bb90..ec34ef0 100644 --- a/include/libxml/valid.h +++ b/include/libxml/valid.h @@ -269,7 +269,7 @@ XMLPUBFUN xmlListPtr XMLCALL /** * The public function calls related to validity checking. */ - +#ifdef LIBXML_VALID_ENABLED XMLPUBFUN int XMLCALL xmlValidateRoot (xmlValidCtxtPtr ctxt, xmlDocPtr doc); @@ -337,6 +337,8 @@ XMLPUBFUN int XMLCALL xmlValidateNotationUse (xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *notationName); +#endif /* LIBXML_VALID_ENABLED */ + XMLPUBFUN int XMLCALL xmlIsMixedElement (xmlDocPtr doc, const xmlChar *name); @@ -370,6 +372,9 @@ XMLPUBFUN int XMLCALL const xmlChar **list, int *len, int max); + +#ifdef LIBXML_VALID_ENABLED + XMLPUBFUN int XMLCALL xmlValidateNameValue (const xmlChar *value); XMLPUBFUN int XMLCALL @@ -379,6 +384,7 @@ XMLPUBFUN int XMLCALL XMLPUBFUN int XMLCALL xmlValidateNmtokensValue(const xmlChar *value); +#endif /* LIBXML_VALID_ENABLED */ #ifdef LIBXML_REGEXP_ENABLED /* * Validation based on the regexp support diff --git a/include/libxml/xinclude.h b/include/libxml/xinclude.h index 880a280..4bb0aab 100644 --- a/include/libxml/xinclude.h +++ b/include/libxml/xinclude.h @@ -16,6 +16,8 @@ #include <libxml/xmlversion.h> #include <libxml/tree.h> +#ifdef LIBXML_XINCLUDE_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -113,4 +115,7 @@ XMLPUBFUN int XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_XINCLUDE_ENABLED */ + #endif /* __XML_XINCLUDE_H__ */ diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h index 9c7dc33..f50a3f9 100644 --- a/include/libxml/xmlIO.h +++ b/include/libxml/xmlIO.h @@ -206,6 +206,11 @@ XMLPUBFUN int XMLCALL xmlInputOpenCallback openFunc, xmlInputReadCallback readFunc, xmlInputCloseCallback closeFunc); + +xmlParserInputBufferPtr + __xmlParserInputBufferCreateFilename(const char *URI, + xmlCharEncoding enc); + #ifdef LIBXML_OUTPUT_ENABLED /* * Interfaces for output @@ -258,6 +263,11 @@ XMLPUBFUN int XMLCALL xmlOutputOpenCallback openFunc, xmlOutputWriteCallback writeFunc, xmlOutputCloseCallback closeFunc); + +xmlOutputBufferPtr + __xmlOutputBufferCreateFilename(const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); #endif /* LIBXML_OUTPUT_ENABLED */ /* This function only exists if HTTP support built into the library */ diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h index 048ecf3..513c244 100644 --- a/include/libxml/xmlerror.h +++ b/include/libxml/xmlerror.h @@ -555,6 +555,25 @@ typedef enum { XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1778 */ XML_SCHEMAP_INVALID_ATTR_NAME, /* 1779 */ XML_SCHEMAP_REF_AND_CONTENT, /* 1780 */ + XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1781 */ + XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1782 */ + XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1783 */ + XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1784 */ + XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1785 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1786 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1787 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1788 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1789 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1790 */ + XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1791 */ + XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1792 */ + XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1793 */ + XML_SCHEMAP_SRC_IMPORT_3_1, /* 1794 */ + XML_SCHEMAP_SRC_IMPORT_3_2, /* 1795 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1796 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1797 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1798 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1799 */ XML_SCHEMAV_NOROOT = 1800, XML_SCHEMAV_UNDECLAREDELEM, /* 1801 */ XML_SCHEMAV_NOTTOPLEVEL, /* 1802 */ @@ -578,7 +597,28 @@ typedef enum { XML_SCHEMAV_ATTRINVALID, /* 1820 */ XML_SCHEMAV_VALUE, /* 1821 */ XML_SCHEMAV_FACET, /* 1822 */ - XML_XPTR_UNKNOWN_SCHEME = 1900, + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1823 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1824 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1825 */ + XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1826 */ + XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1827 */ + XML_SCHEMAV_CVC_FACET_VALID, /* 1828 */ + XML_SCHEMAV_CVC_LENGTH_VALID, /* 1829 */ + XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1830 */ + XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1831 */ + XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1832 */ + XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1833 */ + XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1834 */ + XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1835 */ + XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1836 */ + XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1837 */ + XML_SCHEMAV_CVC_PATTERN_VALID, /* 1838 */ + XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1839 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1840 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1841 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1842 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1843 */ + XML_XPTR_UNKNOWN_SCHEME = 1900, XML_XPTR_CHILDSEQ_START, /* 1901 */ XML_XPTR_EVAL_FAILED, /* 1902 */ XML_XPTR_EXTRA_OBJECTS, /* 1903 */ @@ -591,7 +631,44 @@ typedef enum { XML_FTP_ACCNT, /* 2002 */ XML_HTTP_URL_SYNTAX = 2020, XML_HTTP_USE_IP, /* 2021 */ - XML_HTTP_UNKNOWN_HOST /* 2022 */ + XML_HTTP_UNKNOWN_HOST, /* 2022 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, + XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ + XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ + XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3004 */ + XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3005 */ + XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3006 */ + XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3007 */ + XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3008 */ + XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3009 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3010 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3011 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3012 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3013 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3014 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3015 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3016 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3017 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3018 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3019 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ + XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ + XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ + XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ + XML_SCHEMAP_S4S_ATTR_MISSING /* 3036 */ } xmlParserErrors; /** diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h index de13041..e810468 100644 --- a/include/libxml/xmlreader.h +++ b/include/libxml/xmlreader.h @@ -17,6 +17,8 @@ #include <libxml/relaxng.h> #endif +#ifdef LIBXML_READER_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -359,5 +361,8 @@ XMLPUBFUN void XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_READER_ENABLED */ + #endif /* __XML_XMLREADER_H__ */ diff --git a/include/libxml/xmlsave.h b/include/libxml/xmlsave.h index d83038e..be5971d 100644 --- a/include/libxml/xmlsave.h +++ b/include/libxml/xmlsave.h @@ -31,10 +31,14 @@ XMLPUBFUN xmlSaveCtxtPtr XMLCALL xmlSaveToFilename (const char *filename, const char *encoding, int options); +/****** + Not yet implemented. + XMLPUBFUN xmlSaveCtxtPtr XMLCALL xmlSaveToBuffer (xmlBufferPtr buffer, const char *encoding, int options); + ******/ XMLPUBFUN xmlSaveCtxtPtr XMLCALL xmlSaveToIO (xmlOutputWriteCallback iowrite, xmlOutputCloseCallback ioclose, diff --git a/include/libxml/xmlschemastypes.h b/include/libxml/xmlschemastypes.h index 4514c59..b81e9b4 100644 --- a/include/libxml/xmlschemastypes.h +++ b/include/libxml/xmlschemastypes.h @@ -58,6 +58,20 @@ XMLPUBFUN void XMLCALL 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); #ifdef __cplusplus } diff --git a/include/libxml/xmlunicode.h b/include/libxml/xmlunicode.h index b8537dc..3882b1f 100644 --- a/include/libxml/xmlunicode.h +++ b/include/libxml/xmlunicode.h @@ -17,6 +17,8 @@ #include <libxml/xmlversion.h> +#ifdef LIBXML_UNICODE_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -194,4 +196,7 @@ XMLPUBFUN int XMLCALL xmlUCSIsCat (int code, const char *cat); #ifdef __cplusplus } #endif + +#endif /* LIBXML_UNICODE_ENABLED */ + #endif /* __XML_UNICODE_H__ */ diff --git a/include/libxml/xmlversion.h b/include/libxml/xmlversion.h index a2ab03d..85d1eec 100644 --- a/include/libxml/xmlversion.h +++ b/include/libxml/xmlversion.h @@ -29,21 +29,21 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version); * * the version string like "1.2.3" */ -#define LIBXML_DOTTED_VERSION "2.6.10" +#define LIBXML_DOTTED_VERSION "2.6.11" /** * LIBXML_VERSION: * * the version number: 1.2.3 value is 1002003 */ -#define LIBXML_VERSION 20610 +#define LIBXML_VERSION 20611 /** * LIBXML_VERSION_STRING: * * the version number string, 1.2.3 value is "1002003" */ -#define LIBXML_VERSION_STRING "20610" +#define LIBXML_VERSION_STRING "20611" /** * LIBXML_TEST_VERSION: @@ -51,7 +51,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version); * Macro to check that the libxml version in use is compatible with * the version the software has been compiled against */ -#define LIBXML_TEST_VERSION xmlCheckVersion(20610); +#define LIBXML_TEST_VERSION xmlCheckVersion(20611); #ifndef VMS #if 0 diff --git a/include/libxml/xmlwriter.h b/include/libxml/xmlwriter.h index f1e1fd8..31ceb5f 100644 --- a/include/libxml/xmlwriter.h +++ b/include/libxml/xmlwriter.h @@ -11,6 +11,10 @@ #ifndef __XML_XMLWRITER_H__ #define __XML_XMLWRITER_H__ +#include <libxml/xmlversion.h> + +#ifdef LIBXML_WRITER_ENABLED + #include <stdarg.h> #include <libxml/xmlIO.h> #include <libxml/list.h> @@ -449,4 +453,7 @@ extern "C" { #ifdef __cplusplus } #endif + +#endif /* LIBXML_WRITER_ENABLED */ + #endif /* __XML_XMLWRITER_H__ */ diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h index 41def0c..8a2e210 100644 --- a/include/libxml/xpath.h +++ b/include/libxml/xpath.h @@ -20,6 +20,9 @@ #define __XML_XPATH_H__ #include <libxml/xmlversion.h> + +#ifdef LIBXML_XPATH_ENABLED + #include <libxml/xmlerror.h> #include <libxml/tree.h> #include <libxml/hash.h> @@ -464,4 +467,6 @@ XMLPUBFUN void XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_XPATH_ENABLED */ #endif /* ! __XML_XPATH_H__ */ diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h index 75e5d74..4ee1965 100644 --- a/include/libxml/xpathInternals.h +++ b/include/libxml/xpathInternals.h @@ -15,6 +15,8 @@ #include <libxml/xmlversion.h> #include <libxml/xpath.h> +#ifdef LIBXML_XPATH_ENABLED + #ifdef __cplusplus extern "C" { #endif @@ -650,4 +652,6 @@ XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns); #ifdef __cplusplus } #endif + +#endif /* LIBXML_XPATH_ENABLED */ #endif /* ! __XML_XPATH_INTERNALS_H__ */ diff --git a/include/libxml/xpointer.h b/include/libxml/xpointer.h index 2285b0e..dde1dfb 100644 --- a/include/libxml/xpointer.h +++ b/include/libxml/xpointer.h @@ -18,6 +18,9 @@ #define __XML_XPTR_H__ #include <libxml/xmlversion.h> + +#ifdef LIBXML_XPTR_ENABLED + #include <libxml/tree.h> #include <libxml/xpath.h> @@ -106,4 +109,6 @@ XMLPUBFUN void XMLCALL #ifdef __cplusplus } #endif + +#endif /* LIBXML_XPTR_ENABLED */ #endif /* __XML_XPTR_H__ */ |