Added some comments for the struct fields.

* include/libxml/schemasInternals.h: Added some comments for the
  struct fields.
diff --git a/ChangeLog b/ChangeLog
index b120bc7..a6ce1bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Sep 14 19:52:18 CEST 2005 Kasimier Buchcik <libxml2-cvs@cazic.net>
+
+	* include/libxml/schemasInternals.h: Added some comments for the
+	  struct fields.
+
 Wed Sep 14 13:24:27 HKT 2005 William Brack <wbrack@mmm.com.hk>
 
 	* uri.c: fixed problem when xmlBuildRelativeURI was given a
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index 384758d..7467d31 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -124,7 +124,7 @@
     XML_SCHEMA_CONTENT_ELEMENTS,
     XML_SCHEMA_CONTENT_MIXED,
     XML_SCHEMA_CONTENT_SIMPLE,
-    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* obsolete, not used */
+    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
     XML_SCHEMA_CONTENT_BASIC,
     XML_SCHEMA_CONTENT_ANY
 } xmlSchemaContentType;
@@ -242,8 +242,8 @@
 typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
 typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
 struct _xmlSchemaAttribute {
-    xmlSchemaTypeType type;        /* The kind of type */
-    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
+    xmlSchemaTypeType type;
+    struct _xmlSchemaAttribute *next; /* the next attribute ... */
     const xmlChar *name; /* name of the declaration or empty if particle */
     const xmlChar *id;
     const xmlChar *ref; /* the local name of the attribute decl. if a particle */
@@ -252,21 +252,22 @@
     const xmlChar *typeNs; /* the ns URI of the type definition */
     xmlSchemaAnnotPtr annot;
 
-    xmlSchemaTypePtr base; /* obsolete, not used */
+    xmlSchemaTypePtr base; /* Obsolete, */
     int occurs;
-    const xmlChar *defValue;
+    const xmlChar *defValue; /* The original value of the value constraint */
     xmlSchemaTypePtr subtypes; /* the type definition */
     xmlNodePtr node;
     const xmlChar *targetNamespace;
     int flags;
-    const xmlChar *refPrefix;
-    xmlSchemaValPtr defVal;
+    const xmlChar *refPrefix; /* Obsolete */
+    xmlSchemaValPtr defVal; /* The compiled value constraint */
     xmlSchemaAttributePtr refDecl;
 };
 
 /**
  * xmlSchemaAttributeLink:
  * Used to build a list of attribute uses on complexType definitions.
+ * TODO: Extend this to work as an "attribute use".
  */
 typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
 typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
@@ -304,8 +305,8 @@
     const xmlChar *id;
     xmlSchemaAnnotPtr annot;
     xmlNodePtr node;
-    int minOccurs;
-    int maxOccurs;
+    int minOccurs; /* Obsolete; this goes into particles */
+    int maxOccurs; /* Obsolete; this goes into particles */
     int processContents;
     int any; /* Indicates if the ns constraint is of ##any */
     xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
@@ -333,6 +334,13 @@
 #define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
 
 /**
+ * XML_SCHEMAS_ATTRGROUP_REDEFINED:
+ *
+ * The attr group was redefined.
+ */
+#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
+
+/**
  * An attribute group definition.
  *
  * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
@@ -353,10 +361,9 @@
     xmlNodePtr node;
     int flags;
     xmlSchemaWildcardPtr attributeWildcard;
-    const xmlChar *refPrefix;
+    const xmlChar *refPrefix; /* Obsolete */
     xmlSchemaAttributeGroupPtr refItem; /* The referenced attribute group */
     const xmlChar *targetNamespace;
-    /* xmlSchemaAttributeGroupPtr redef;*/  /* Redefinitions */
 };
 
 /**
@@ -368,7 +375,7 @@
 typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
 struct _xmlSchemaTypeLink {
     struct _xmlSchemaTypeLink *next;/* the next type link ... */
-    xmlSchemaTypePtr type;/* the linked type*/
+    xmlSchemaTypePtr type;/* the linked type */
 };
 
 /**
@@ -417,6 +424,9 @@
  * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
  *
  * the simpleType has a variety of "absent".
+ * TODO: Actually not necessary :-/, since if
+ * none of the variety flags occur then it's
+ * automatically absent.
  */
 #define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
 /**
@@ -561,6 +571,19 @@
 #define XML_SCHEMAS_TYPE_FIXUP_1    1 << 29
 
 /**
+ * XML_SCHEMAS_TYPE_REDEFINED:
+ *
+ * The type was redefined.
+ */
+#define XML_SCHEMAS_TYPE_REDEFINED    1 << 30
+/**
+ * XML_SCHEMAS_TYPE_REDEFINING:
+ *
+ * The type redefines an other type.
+ */
+/* #define XML_SCHEMAS_TYPE_REDEFINING    1 << 31 */
+
+/**
  * _xmlSchemaType:
  *
  * Schemas type definition.
@@ -569,30 +592,30 @@
     xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaType *next;/* the next type if in a sequence ... */
     const xmlChar *name;
-    const xmlChar *id;
-    const xmlChar *ref;
-    const xmlChar *refNs;
+    const xmlChar *id; /* Obsolete; the ID is not part of the component */
+    const xmlChar *ref; /* TODO: Obsolete ? */
+    const xmlChar *refNs; /* TODO: Obsolete ? */
     xmlSchemaAnnotPtr annot;
     xmlSchemaTypePtr subtypes;
-    xmlSchemaAttributePtr attributes;
+    xmlSchemaAttributePtr attributes; /* Explicitely declared attributes or refs */
     xmlNodePtr node;
-    int minOccurs;
-    int maxOccurs;
+    int minOccurs; /* Obsolete; this goes into particles */
+    int maxOccurs; /* Obsolete; this goes into particles */
 
     int flags;
     xmlSchemaContentType contentType;
-    const xmlChar *base;
-    const xmlChar *baseNs;
-    xmlSchemaTypePtr baseType;
-    xmlSchemaFacetPtr facets;
-    struct _xmlSchemaType *redef;/* possible redefinitions for the type */
-    int recurse;
-    xmlSchemaAttributeLinkPtr attributeUses;
+    const xmlChar *base; /* Base type's local name */
+    const xmlChar *baseNs; /* Base type's target namespace */
+    xmlSchemaTypePtr baseType; /* The base type component */
+    xmlSchemaFacetPtr facets; /* Local facets */
+    struct _xmlSchemaType *redef; /* Obsolete */
+    int recurse; /* Obsolete */
+    xmlSchemaAttributeLinkPtr attributeUses; /* Attribute uses (incl. inherited) */
     xmlSchemaWildcardPtr attributeWildcard;
     int builtInType;
     xmlSchemaTypeLinkPtr memberTypes;
-    xmlSchemaFacetLinkPtr facetSet;
-    const xmlChar *refPrefix;
+    xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
+    const xmlChar *refPrefix; /* Obsolete */
     xmlSchemaTypePtr contentTypeDef;
     xmlRegexpPtr contModel;
     const xmlChar *targetNamespace;
@@ -727,18 +750,18 @@
 typedef struct _xmlSchemaElement xmlSchemaElement;
 typedef xmlSchemaElement *xmlSchemaElementPtr;
 struct _xmlSchemaElement {
-    xmlSchemaTypeType type;        /* The kind of type */
-    struct _xmlSchemaType *next;/* the next type if in a sequence ... */
+    xmlSchemaTypeType type; /* The kind of type */
+    struct _xmlSchemaType *next; /* Not used? */
     const xmlChar *name;
-    const xmlChar *id;
-    const xmlChar *ref; /* the local name of the element declaration if a particle */
-    const xmlChar *refNs; /* the ns URI of the element declaration if a particle */
+    const xmlChar *id; /* Obsolete */
+    const xmlChar *ref; /* Obsolete */
+    const xmlChar *refNs; /* Obsolete */
     xmlSchemaAnnotPtr annot;
     xmlSchemaTypePtr subtypes; /* the type definition */
     xmlSchemaAttributePtr attributes;
     xmlNodePtr node;
-    int minOccurs;
-    int maxOccurs;
+    int minOccurs; /* Obsolete; this goes into particles. */
+    int maxOccurs; /* Obsolete; this goes into particles. */
 
     int flags;
     const xmlChar *targetNamespace;
@@ -747,13 +770,14 @@
     const xmlChar *substGroup;
     const xmlChar *substGroupNs;
     const xmlChar *scope;
-    const xmlChar *value;
-    struct _xmlSchemaElement *refDecl; /* This will now be used for the substitution group affiliation */
-    xmlRegexpPtr contModel;
+    const xmlChar *value; /* The original value of the value constraint. */
+    struct _xmlSchemaElement *refDecl; /* This will now be used for the
+                                          substitution group affiliation */
+    xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
     xmlSchemaContentType contentType;
-    const xmlChar *refPrefix;
-    xmlSchemaValPtr defVal;
-    void *idcs;
+    const xmlChar *refPrefix; /* Obsolete */
+    xmlSchemaValPtr defVal; /* The compiled value contraint. */
+    void *idcs; /* The identity-constraint defs */
 };
 
 /*
@@ -786,14 +810,14 @@
 struct _xmlSchemaFacet {
     xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
-    const xmlChar *value;
-    const xmlChar *id;
+    const xmlChar *value; /* The original value */
+    const xmlChar *id; /* Obsolete */
     xmlSchemaAnnotPtr annot;
     xmlNodePtr node;
-    int fixed;
+    int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
     int whitespace;
-    xmlSchemaValPtr val;
-    xmlRegexpPtr    regexp;
+    xmlSchemaValPtr val; /* The compiled value */
+    xmlRegexpPtr    regexp; /* The regex for patterns */
 };
 
 /**
@@ -810,7 +834,7 @@
 };
 
 /*
-* Actually all those flags used for the schema should sit
+* TODO: Actually all those flags used for the schema should sit
 * on the schema parser context, since they are used only
 * during parsing an XML schema document, and not available
 * on the component level as per spec.
@@ -884,10 +908,10 @@
  * A Schemas definition
  */
 struct _xmlSchema {
-    const xmlChar *name;        /* schema name */
-    const xmlChar *targetNamespace;     /* the target namespace */
+    const xmlChar *name; /* schema name */
+    const xmlChar *targetNamespace; /* the target namespace */
     const xmlChar *version;
-    const xmlChar *id;
+    const xmlChar *id; /* Obsolete */
     xmlDocPtr doc;
     xmlSchemaAnnotPtr annot;
     int flags;
@@ -906,8 +930,8 @@
     void *includes;     /* the includes, this is opaque for now */
     int preserve;        /* whether to free the document */
     int counter; /* used to give ononymous components unique names */
-    xmlHashTablePtr idcDef;
-    void *volatiles; /* Deprecated; not used anymore. */
+    xmlHashTablePtr idcDef; /* All identity-constraint defs. */
+    void *volatiles; /* Obsolete */
 };
 
 XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);