added code in xmlSchemaBuildContentModel to allow ref in group definition

* xmlschemas.c: added code in xmlSchemaBuildContentModel to
  allow ref in group definition (bug 134411).  Also fixed
  misc compilation warning messages.
* result/schema/group0_0_0, result/schema/group0_0_0.err:
  regenerated (now no error reported).
diff --git a/ChangeLog b/ChangeLog
index f78f30b..17a72b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed May 12 08:21:33 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+	* xmlschemas.c: added code in xmlSchemaBuildContentModel to
+	  allow ref in group definition (bug 134411).  Also fixed
+	  misc compilation warning messages.
+	* result/schema/group0_0_0, result/schema/group0_0_0.err:
+	  regenerated (now no error reported).
+	  
 Tue May 11 11:55:59 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
 	* xmlIO.c: fix to the fix for #141864 from Paul Elseth  
diff --git a/result/schemas/group0_0_0 b/result/schemas/group0_0_0
index b5f479c..587a74a 100644
--- a/result/schemas/group0_0_0
+++ b/result/schemas/group0_0_0
@@ -1 +1 @@
-./test/schemas/group0_0.xml fails to validate
+./test/schemas/group0_0.xml validates
diff --git a/result/schemas/group0_0_0.err b/result/schemas/group0_0_0.err
index b7b5302..e69de29 100644
--- a/result/schemas/group0_0_0.err
+++ b/result/schemas/group0_0_0.err
@@ -1 +0,0 @@
-./test/schemas/group0_0.xml:1: element author: Schemas validity error : Element author content check failed
diff --git a/xmlschemas.c b/xmlschemas.c
index 27f584f..4aa9dc4 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -934,6 +934,7 @@
     return(ret);
 }
 
+#if 0
 /**
  * xmlSchemaGetNamespace:
  * @ctxt: the parser context
@@ -1010,6 +1011,7 @@
     *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
     return(name);
 }
+#endif
 
 /************************************************************************
  * 									*
@@ -2033,7 +2035,6 @@
     xmlNodePtr child = NULL;
     char buf[100];
     int hasRefType = 0;
-    int hasForm = 0;
 
     /*
      * Note that the w3c spec assumes the schema to be validated with schema
@@ -4521,6 +4522,20 @@
             break;
         case XML_SCHEMA_TYPE_GROUP:
             if (type->subtypes == NULL) {
+	        xmlSchemaTypePtr rgroup;
+		if (type->ref != NULL) {
+		    rgroup = xmlHashLookup2(ctxt->schema->groupDecl, type->ref,
+		    			   type->refNs);
+		    if (rgroup == NULL) {
+		        xmlSchemaPErr(ctxt, type->node,
+				      XML_SCHEMAP_UNKNOWN_REF,
+				"Schemas: group %s reference %s is not found",
+				name, type->ref);
+			return;
+		    }
+		    xmlSchemaBuildAContentModel(rgroup, ctxt, name);
+		    break;
+		}
             }
         case XML_SCHEMA_TYPE_COMPLEX:
         case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
@@ -4667,7 +4682,7 @@
     xmlSchemaTypePtr subtype;
     
     /* Handle the "itemType" attribute. */
-    itemType = xmlGetQNameProp(ctxt, type->node, BAD_CAST "itemType", &namespace);
+    itemType = xmlGetQNameProp(ctxt, type->node, "itemType", &namespace);
     if (itemType != NULL) {
         /* Do not allow more that one item type. */
         if (type->subtypes != NULL) {
@@ -4681,7 +4696,7 @@
             xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_TYPE,
                           "List %s references an unknown item type: %s\n",
                           type->name, xmlSchemaGetProp(ctxt, type->node,
-			  BAD_CAST "itemType"));
+			  "itemType"));
         } else
             type->subtypes = subtype;
     }
@@ -4954,6 +4969,7 @@
             case XML_SCHEMA_TYPE_ELEMENT:
             case XML_SCHEMA_TYPE_ATTRIBUTE:
             case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+            case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
             case XML_SCHEMA_TYPE_NOTATION:
             case XML_SCHEMA_TYPE_LIST:
 		xmlSchemaParseListRefFixup(typeDecl, ctxt);
@@ -5837,6 +5853,7 @@
     return (ret);
 }
 
+#if 0		/* Not currently used - remove if ever needed */
 /**
  * xmlSchemaValidateSimpleContent:
  * @ctxt:  a schema validation context
@@ -5897,6 +5914,7 @@
 
     return (ret);
 }
+#endif
 
 /**
  * xmlSchemaValidateCheckNodeList
@@ -6605,6 +6623,8 @@
             TODO break;
         case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
             TODO break;
+        case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
+            TODO break;
     }
     xmlSchemaValidateAttributes(ctxt, node, type->attributes);
 
@@ -6933,7 +6953,6 @@
 {
     xmlNodePtr root;
     xmlSchemaElementPtr elemDecl;
-    xmlNodePtr node;    
 
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {