mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-10-26 20:25:14 +03:00
Added "Particle correct 2" to parsing of model groups. Added handling
* xmlschemas.c: Added "Particle correct 2" to parsing of model groups. Added handling substitution groups inside <choice> and <sequence>; for <all> this is not supported yet. Changed circular checks for model groups definitions. "memberTypes" are processed at different levels now: component resolution first, construction later; this goes hand in hand with a global change to handle component resolution in a distinct phase. Fixed invalid default values for elements to mark the schema as invalid; this just resulted in an error report previously, but the schema was handled as valid. Separated the assignment of the model groups to referencing model group definition references (i.e. particles); this was needed to perform the circularity check for model group definitions. Added "Element Declaration Properties Correct (e-props-correct)" constraints. Separated component resolution for simple/complex types. * include/libxml/schemasInternals.h: Added a flag for substitution group heads.
This commit is contained in:
parent
142fb21c10
commit
1a99a39745
20
ChangeLog
20
ChangeLog
@ -1,3 +1,23 @@
|
||||
Fri Apr 8 13:22:01 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net>
|
||||
|
||||
* xmlschemas.c: Added "Particle correct 2" to parsing of model groups.
|
||||
Added handling substitution groups inside <choice> and <sequence>;
|
||||
for <all> this is not supported yet. Changed circular checks for
|
||||
model groups definitions. "memberTypes" are processed at different
|
||||
levels now: component resolution first, construction later; this
|
||||
goes hand in hand with a global change to handle component
|
||||
resolution in a distinct phase. Fixed invalid default values for
|
||||
elements to mark the schema as invalid; this just resulted in an
|
||||
error report previously, but the schema was handled as valid.
|
||||
Separated the assignment of the model groups to referencing
|
||||
model group definition references (i.e. particles); this was
|
||||
needed to perform the circularity check for model group definitions.
|
||||
Added "Element Declaration Properties Correct (e-props-correct)"
|
||||
constraints. Separated component resolution for simple/complex
|
||||
types.
|
||||
* include/libxml/schemasInternals.h: Added a flag for substitution
|
||||
group heads.
|
||||
|
||||
Wed Apr 6 23:14:03 CEST 2005 Igor Zlatkovic <igor@zlatkovic.com>
|
||||
|
||||
* win32/Makefile.*: make install cleanup
|
||||
|
@ -673,6 +673,12 @@ struct _xmlSchemaType {
|
||||
* substitution group exclusions: "restriction"
|
||||
*/
|
||||
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16
|
||||
/**
|
||||
* XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
|
||||
*
|
||||
* the declaration is a substitution group head
|
||||
*/
|
||||
#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17
|
||||
|
||||
|
||||
typedef struct _xmlSchemaElement xmlSchemaElement;
|
||||
@ -699,7 +705,7 @@ struct _xmlSchemaElement {
|
||||
const xmlChar *substGroupNs;
|
||||
const xmlChar *scope;
|
||||
const xmlChar *value;
|
||||
struct _xmlSchemaElement *refDecl; /* the element declaration if a particle */
|
||||
struct _xmlSchemaElement *refDecl; /* This will now be used for the substitution group affiliation */
|
||||
xmlRegexpPtr contModel;
|
||||
xmlSchemaContentType contentType;
|
||||
const xmlChar *refPrefix;
|
||||
@ -850,7 +856,7 @@ struct _xmlSchema {
|
||||
int preserve; /* whether to free the document */
|
||||
int counter; /* used to give ononymous components unique names */
|
||||
xmlHashTablePtr idcDef;
|
||||
void *volatiles; /* Misc. helper items (e.g. reference items) */
|
||||
void *volatiles; /* Misc. helper items (e.g. reference items) */
|
||||
};
|
||||
|
||||
XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type);
|
||||
|
1291
xmlschemas.c
1291
xmlschemas.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user