You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/05/15 11:31:15 UTC

svn commit: r406594 [2/8] - in /webservices/axis2/trunk/c/modules/xml/xml_schema: ./ include/xml_schema/

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_processing.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_processing.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_processing.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_processing.h Mon May 15 02:31:10 2006
@@ -81,15 +81,7 @@
 axis2_xml_schema_content_processing_create(axis2_env_t **env,
                                     axis2_char_t* value);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- */
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_content_processing_resolve_methods(
-                axis2_xml_schema_content_processing_t *content_processing,
-                axis2_env_t **env,
-                axis2_xml_schema_content_processing_t *content_processing_impl,
-                axis2_hash_t *methods);
+/*********************** macros ***********************************************/
 
 #define AXIS2_XML_SCHEMA_CONTENT_PROCESSING_FREE(content_processing, env) \
 		(((axis2_xml_schema_content_processing_t *) content_processing)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_type.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_type.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_type.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_content_type.h Mon May 15 02:31:10 2006
@@ -37,10 +37,6 @@
 typedef struct axis2_xml_schema_content_type_ops 
                     axis2_xml_schema_content_type_ops_t;
 
-#define AXIS2_XML_SCHEMA_QUALIFIED "qualified"
-#define AXIS2_XML_SCHEMA_UNQUALIFIED "unqualified"
-#define AXIS2_XML_SCHEMA_NONE "none"
-
 #ifdef __cplusplus
 extern "C"
 {
@@ -55,6 +51,14 @@
     axis2_status_t (AXIS2_CALL *
     free) (void *content_type,
             axis2_env_t **env);
+            
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *content_type,
+            axis2_env_t **env);
+
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type) (void *content_type,
+            axis2_env_t **env);                
 
     axis2_xml_schema_enum_t *(AXIS2_CALL *
     get_base_impl) (void *content_type,
@@ -76,16 +80,7 @@
 axis2_xml_schema_content_type_create(axis2_env_t **env,
                                     axis2_char_t* value);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- */
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_content_type_resolve_methods(
-                                axis2_xml_schema_content_type_t *content_type,
-                                axis2_env_t **env,
-                                axis2_xml_schema_content_type_t *content_type_impl,
-                                axis2_hash_t *methods);
-
+/************************* Macros ************************************************/
 #define AXIS2_XML_SCHEMA_CONTENT_TYPE_FREE(content_type, env) \
 		(((axis2_xml_schema_content_type_t *) content_type)->ops->free(content_type, env))
 
@@ -94,6 +89,13 @@
 
 #define AXIS2_XML_SCHEMA_CONTENT_TYPE_GET_VALUES(content_type, env) \
 		(((axis2_xml_schema_content_type_t *) content_type)->ops->values(content_type, env))
+
+#define AXIS2_XML_SCHEMA_CONTENT_TYPE_SUPER_OBJS(content_type, env) \
+        (((axis2_xml_schema_content_type_t *) content_type)->ops->super_objs(content_type, env))
+        
+#define AXIS2_XML_SCHEMA_CONTENT_TYPE_TYPE(content_type, env) \
+        (((axis2_xml_schema_content_type_t *) content_type) \
+         content_type)->ops->type(content_type, env))        
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_defines.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_defines.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_defines.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_defines.h Mon May 15 02:31:10 2006
@@ -46,21 +46,112 @@
     typedef enum axis2_xml_schema_types
     {
         AXIS2_XML_SCHEMA = 0,
-        AXIS2_XML_SCHEMA_ALL,
-        AXIS2_XML_SCHEMA_ANNOTATED,
-        AXIS2_XML_SCHEMA_ANNOTATION,
-        AXIS2_XML_SCHEMA_OBJ,
-        AXIS2_XML_SCHEMA_PARTICLE,
         AXIS2_XML_SCHEMA_ENUM,
         AXIS2_XML_SCHEMA_USE,
-        AXIS2_XML_SCHEMA_ANY,
         AXIS2_XML_SCHEMA_CONTENT_PROCESSING,
+        AXIS2_XML_SCHEMA_FORM,
+        AXIS2_XML_SCHEMA_CONTENT_TYPE,
+        AXIS2_XML_SCHEMA_DERIVATION_METHOD,
+        AXIS2_XML_SEVERITY_TYPE,
+        AXIS2_XML_TOKENIZED_TYPE,
+        AXIS2_XML_SCHEMA_OBJ, 
+        AXIS2_XML_SCHEMA_ANNOTATION,
         AXIS2_XML_SCHEMA_APP_INFO,
-        AXIS2_XML_SCHEMA_GROUP,
+        AXIS2_XML_SCHEMA_DOCUMENTATION,
+        AXIS2_XML_SCHEMA_ANNOTATED,
+        AXIS2_XML_SCHEMA_FACET,
+        AXIS2_XML_SCHEMA_ENUMARATION_FACET,
+        AXIS2_XML_SCHEMA_FRACTION_DIGITS_FACET,
+        AXIS2_XML_SCHEMA_LENGTH_FACET,
+        AXIS2_XML_SCHEMA_MAX_EXCLUSIVE_FACET,
+        AXIS2_XML_SCHEMA_MAX_INCLUSIVE_FACET,
+        AXIS2_XML_SCHEMA_MAX_LENGTH_FACET,
+        AXIS2_XML_SCHEMA_MIN_EXCLUSIVE_FACET,
+        AXIS2_XML_SCHEMA_MIN_INCLUSIVE_FACET,
+        AXIS2_XML_SCHEMA_MIN_LENGTH_FACET,
+        AXIS2_XML_SCHEMA_NUMERAIC_FACET,
+        AXIS2_XML_SCHEMA_PATTERN_FACET,
+        AXIS2_XML_SCHEMA_TATAL_DIGITS_FACET,
+        AXIS2_XML_SCHEMA_WHITE_SPACE_FACET,
+        AXIS2_XML_SCHEMA_PARTICLE,
+        AXIS2_XML_SCHEMA_ANY,
         AXIS2_XML_SCHEMA_GROUP_BASE,
+        AXIS2_XML_SCHEMA_CHOICE,
+        AXIS2_XML_SCHEMA_ALL,
+        AXIS2_XML_SCHEMA_SEQUENCE,
         AXIS2_XML_SCHEMA_GROUP_REF,
-        AXIS2_XML_SCHEMA_FORM
+        AXIS2_XML_SCHEMA_ELEMENT,
+        AXIS2_XML_SCHEMA_XPATH,
+        AXIS2_XML_SCHEMA_GROUP,
+        AXIS2_XML_SCHEMA_ANY_ATTRIBUTE,
+        AXIS2_XML_SCHEMA_TYPE,
+        AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION,
+        AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION,
+        AXIS2_XML_SCHEMA_COMPLEX_CONTENT_EXTENSION,
+        AXIS2_XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION,
+        AXIS2_XML_SCHEMA_SIMPLE_CONTENT,
+        AXIS2_XML_SCHEMA_COMPLEX_CONTENT,
+        AXIS2_XML_SCHEMA_SIMPLE_TYPE,
+        AXIS2_XML_SCHEMA_COMPLEX_TYPE,
+        AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT,
+        AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST,
+        AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION,
+        AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION,
+        AXIS2_XML_SCHEMA_EXTERNAL,
+        AXIS2_XML_SCHEMA_IMPORT,
+        AXIS2_XML_SCHEMA_INCLUDE,
+        AXIS2_XML_SCHEMA_REDEFINE,
+        AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT,
+        AXIS2_XML_SCHEMA_UNIQUE,
+        AXIS2_XML_SCHEMA_KEY,
+        AXIS2_XML_SCHEMA_KEYREF,
+        AXIS2_XML_SCHEMA_ATTRIBUTE,
+        AXIS2_XML_SCHEMA_ATTRIBUTE_GROUP,
+        AXIS2_XML_SCHEMA_ATTRIBUTE_GROUP_REF
     } axis2_xml_schema_types_t;
+    
+
+#define AXIS2_XML_SCHEMA_CONST_ALL "all"
+
+#define AXIS2_XML_SCHEMA_CONST_NONE "none"
+
+#define AXIS2_XML_SCHEMA_CONST_EXTENSION "extension"
+
+#define AXIS2_XML_SCHEMA_CONST_LIST "list"
+
+#define AXIS2_XML_SCHEMA_CONST_RESTRICTION "restricton"
+
+#define AXIS2_XML_SCHEMA_CONST_SUBSTITUTION "substitution"
+
+#define AXIS2_XML_SCHEMA_CONST_UNION "union"
+
+#define AXIS2_XML_SCHEMA_CONST_STRING "string"
+
+#define AXIS2_XML_SCHEMA_CONST_UNION "union"
+
+#define AXIS2_XML_SCHEMA_CONST_EMPTY "empty"
+
+#define AXIS2_XML_SCHEMA_CONST_ELEMENT_ONLY "elementOnly"
+
+#define AXIS2_XML_SCHEMA_CONST_MIXED "mixed"
+
+#define AXIS2_XML_SCHEMA_CONST_TEXT_ONLY "textOnly"
+
+#define AXIS2_XML_SCHEMA_CONST_LAX "lax"
+
+#define AXIS2_XML_SCHEMA_CONST_SKIP "skip"
+
+#define AXIS2_XML_SCHEMA_CONST_STRICT "strict"
+
+#define AXIS2_XML_SCHEMA_CONST_OPTIONAL "optional"
+
+#define AXIS2_XML_SCHEMA_CONST_PROHIBITED "prohibited"
+
+#define AXIS2_XML_SCHEMA_CONST_REQUIRED "required"
+
+#define AXIS2_XML_SCHEMA_CONST_ERROR "error"
+
+#define AXIS2_XML_SCHEMA_CONST_WARNING "warning"
 
 /** @} */
 

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_derivation_method.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_derivation_method.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_derivation_method.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_derivation_method.h Mon May 15 02:31:10 2006
@@ -56,6 +56,14 @@
     axis2_array_list_t *(AXIS2_CALL *
     get_values)(void *derivation_method,
                 axis2_env_t **env);
+                
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *derivation_method,
+                axis2_env_t **env);
+    
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *derivation_method,
+          axis2_env_t **env);                                
     
 };
 
@@ -69,15 +77,6 @@
 axis2_xml_schema_derivation_method_create(axis2_env_t **env,
                                     axis2_char_t* value);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- */
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_derivation_method_resolve_methods(
-                                axis2_xml_schema_derivation_method_t *derivation_method,
-                                axis2_env_t **env,
-                                axis2_xml_schema_derivation_method_t *derivation_method_impl,
-                                axis2_hash_t *methods);
 
 #define AXIS2_XML_SCHEMA_DERIVATION_METHOD_FREE(derivation_method, env) \
 		(((axis2_xml_schema_derivation_method_t *) \
@@ -91,6 +90,15 @@
 		(((axis2_xml_schema_derivation_method_t *) \
 		derivation_method)->ops->values(derivation_method, env))
 
+#define AXIS2_XML_SCHEMA_DERIVATION_METHOD_TYPE(derivation_method, env) \
+		(((axis2_xml_schema_derivation_method_t *) \
+		derivation_method)->ops->type(derivation_method, env))
+		
+#define AXIS2_XML_SCHEMA_DERIVATION_METHOD_SUPER_OBJS(derivation_method, env) \
+        (((axis2_xml_schema_derivation_method_t *) \
+		derivation_method)->ops->super_objs(derivation_method, env))
+		
+		
 /** @} */
 #ifdef __cplusplus
 }

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h?rev=406594&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h Mon May 15 02:31:10 2006
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_XML_SCHEMA_DOCUMENTATION_H
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_H
+
+/**
+ * @file axis2_xml_schema_documentation.h
+ * @brief Axis2 Xml Schema App Info Interface
+ *          Defines application specific information within an annotation.
+ *          Represents the World Wide Web Consortium (W3C) appinfo element.
+ *
+ */
+
+#include <xml_schema/axis2_xml_schema_defines.h>
+#include <xml_schema/axis2_xml_schema_obj.h>
+#include <axis2_hash.h>
+
+/** @defgroup axis2_xml_schema_documentation Xml Schema App Info
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_documentation axis2_xml_schema_documentation_t;
+typedef struct axis2_xml_schema_documentation_ops axis2_xml_schema_documentation_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_documentation_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *documentation,
+            axis2_env_t **env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *documentation,
+            axis2_env_t **env);
+
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type) (
+            void *documentation,
+            axis2_env_t **env);
+
+    axis2_xml_schema_obj_t *(AXIS2_CALL *
+    get_base_impl) (void *documentation,
+                        axis2_env_t **env);
+    
+    axis2_char_t *(AXIS2_CALL *
+    get_source)(void *documentation,
+                axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_source) (void *documentation,
+                axis2_env_t **env,
+                axis2_char_t *source);
+
+    /* TODO replace (void *) mark up with node list */
+    void *(AXIS2_CALL *
+    get_markup) (void *documentation,
+                    axis2_env_t **env);
+
+    /* TODO replace (void *) mark up with node list */
+    axis2_status_t (AXIS2_CALL *
+    set_markup) (void *documentation,
+                    axis2_env_t **env,
+                    void *markup);
+
+};
+
+struct axis2_xml_schema_documentation
+{
+    axis2_xml_schema_obj_t base;
+    axis2_xml_schema_documentation_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_documentation_t *)
+axis2_xml_schema_documentation_create(axis2_env_t **env);
+
+
+/*********************** macros ***********************************************/
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_FREE(documentation, env) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            free(documentation, env))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_SUPER_OBJS(documentation, env) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            super_objs(documentation, env))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_TYPE(documentation, env) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            type(documentation, env))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_GET_SOURCE(documentation, env) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            get_source(documentation, env))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_SET_SOURCE(documentation, env, source) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            set_source(documentation, env, source))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_GET_MARKUP(documentation, env) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            get_markup(documentation, env))
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_SET_MARKUP(documentation, env, markup) \
+		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            set_markup(documentation, env, markup))
+
+/************************ end macros ******************************************/
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_DOCUMENTATION_H */

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_element.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_element.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_element.h Mon May 15 02:31:10 2006
@@ -25,6 +25,7 @@
  */
 
 #include <xml_schema/axis2_xml_schema_type_receiver.h>
+#include <xml_schema/axis2_xml_schema_particle.h>
 #include <axis2_qname.h>
 
 /** @defgroup axis2_xml_schema_element Xml Schema Element
@@ -48,77 +49,91 @@
 
 struct axis2_xml_schema_element_ops
 {
-	/** 
-     * Deallocate memory
-     * @return status code
-     */
     axis2_status_t (AXIS2_CALL *
     free) (void *element,
             axis2_env_t **env);
     
-    struct axis2_xml_schema_type_receiver *(AXIS2_CALL *
-    get_base_impl) (void *element,
-                    axis2_env_t **env);
-
-    /**
-     * Returns a collection of constraints on the element.
-     */
+    axis2_xml_schema_particle_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *element,
+            axis2_env_t **env);
+
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *element,
+          axis2_env_t **env);
+          
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *element,
+                axis2_env_t **env);          
+
     struct axis2_xml_schema_obj_collection *(AXIS2_CALL *
-    get_constraints) (void *element,
-                                axis2_env_t **env); 
+    get_constraints)(
+            void *element,
+            axis2_env_t **env); 
 
     axis2_char_t *(AXIS2_CALL * 
-    get_default_value) (void *element,
-                                axis2_env_t **env);
+    get_default_value)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_default_value) (void *element,
-                                axis2_env_t **env,
-                                axis2_char_t *default_value);
+    set_default_value)(
+            void *element,
+            axis2_env_t **env,
+            axis2_char_t *default_value);
 
     struct axis2_xml_schema_derivation_method *(AXIS2_CALL *
-    get_block) (void *element,
-                        axis2_env_t **env); 
+    get_block)(
+            void *element,
+            axis2_env_t **env); 
 
     axis2_status_t (AXIS2_CALL * 
-    set_block) (void *element,
-                        axis2_env_t **env,
-                        struct axis2_xml_schema_derivation_method * block);
+    set_block)(
+            void *element,
+            axis2_env_t **env,
+            struct axis2_xml_schema_derivation_method * block);
+            
 
     struct axis2_xml_schema_derivation_method *(AXIS2_CALL *
     get_final) (void *element,
-                        axis2_env_t **env);
+                axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL *
-    set_final) (void *element,
-                        axis2_env_t **env,
-                        struct axis2_xml_schema_derivation_method *final_derivation);
+    set_final)(void *element,
+               axis2_env_t **env,
+               struct axis2_xml_schema_derivation_method *final_derivation);
 
     struct axis2_xml_schema_derivation_method *(AXIS2_CALL * 
-    get_block_resolved) (void *element,
-                                axis2_env_t **env);
+    get_block_resolved)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_char_t *(AXIS2_CALL * 
-    get_fixed_value) (void *element,
-                                axis2_env_t **env); 
+    get_fixed_value)(
+            void *element,
+            axis2_env_t **env); 
 
     axis2_status_t (AXIS2_CALL *
-    set_fixed_value) (void *element,
-                                axis2_env_t **env,
-                                axis2_char_t *fixed_value); 
+    set_fixed_value)(
+            void *element,
+            axis2_env_t **env,
+            axis2_char_t *fixed_value); 
+            
 
     void *(AXIS2_CALL *
-    get_element_type) (void *element,
-                                axis2_env_t **env); 
+    get_element_type)(
+            void *element,
+            axis2_env_t **env); 
+            
 
     struct axis2_xml_schema_form *(AXIS2_CALL *
-    get_form) (void *element,
-                        axis2_env_t **env); 
+    get_form)(void *element,
+              axis2_env_t **env); 
 
     axis2_status_t (AXIS2_CALL *
-    set_form) (void *element,
-                        axis2_env_t **env,
-                        struct axis2_xml_schema_form *form); 
+    set_form)(void *element,
+               axis2_env_t **env,
+                struct axis2_xml_schema_form *form); 
 
     axis2_bool_t (AXIS2_CALL *
     is_abstract) (void *element,
@@ -207,7 +222,7 @@
 
 struct axis2_xml_schema_element
 {
-    axis2_xml_schema_type_receiver_t base;
+    axis2_xml_schema_particle_t base;
     axis2_xml_schema_element_ops_t *ops;
 };
 
@@ -216,14 +231,14 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+ 
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_element_resolve_methods(
                                 axis2_xml_schema_element_t *element,
                                 axis2_env_t **env,
                                 axis2_xml_schema_element_t *element_impl,
                                 axis2_hash_t *methods);
-
+*/
 #define AXIS2_XML_SCHEMA_ELEMENT_FREE(element, env) \
 		(((axis2_xml_schema_element_t *) element)->ops->free(\
             element, env))
@@ -231,6 +246,15 @@
 #define AXIS2_XML_SCHEMA_ELEMENT_GET_BASE_IMPL(element, env) \
 		(((axis2_xml_schema_element_t *) element)->ops->get_base_impl(\
             element, env))
+
+#define AXIS2_XML_SCHEMA_ELEMENT_TYPE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->type(\
+            element, env))
+
+#define AXIS2_XML_SCHEMA_ELEMENT_SUPER_OBJS(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->super_objs(\
+            element, env))
+
 
 #define AXIS2_XML_SCHEMA_ELEMENT_GET_ID(element, env) \
 		(((axis2_xml_schema_element_t *) element)->ops->get_id(\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_external.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_external.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_external.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_external.h Mon May 15 02:31:10 2006
@@ -52,19 +52,45 @@
     axis2_status_t (AXIS2_CALL *
     free) (void *external,
             axis2_env_t **env);
+            
+    axis2_xml_schema_annotated_t* (AXIS2_CALL *
+    get_base_impl)(
+            void *external,
+            axis2_env_t **env);            
+
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(
+            void *external,
+            axis2_env_t **env);            
+
+
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(
+            void *external,
+            axis2_env_t **env);            
 
     struct axis2_xml_schema* (AXIS2_CALL *
-    get_schema)(void *external,
-                axis2_env_t **env);
+    get_schema)(
+            void *external,
+            axis2_env_t **env);
+                
+    axis2_status_t (AXIS2_CALL *
+    set_schema)(
+            void *external,
+            axis2_env_t **env,
+            struct axis2_xml_schema* schema);
                 
+    axis2_char_t* (AXIS2_CALL *
+    get_schema_location)(
+            void *external,
+            axis2_env_t **env);
+                               
     axis2_status_t (AXIS2_CALL *
-    set_schema)(void *external,
-                axis2_env_t **env,
-                struct axis2_xml_schema* schema);
+    set_schema_location)(
+            void *external,
+            axis2_env_t **env,
+            axis2_char_t *location);
 
-    axis2_xml_schema_annotated_t* (AXIS2_CALL *
-    get_base_impl)(void *external,
-                   axis2_env_t **env);
 };
 
 struct axis2_xml_schema_external
@@ -79,6 +105,9 @@
 AXIS2_DECLARE(axis2_xml_schema_external_t *)
 axis2_xml_schema_external_create(axis2_env_t **env);
 
+AXIS2_DECLARE(axis2_xml_schema_external_t *)
+axis2_xml_schema_include_create(axis2_env_t **env);
+
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
  */
@@ -89,6 +118,7 @@
                                 axis2_xml_schema_external_t *external_impl,
                                 axis2_hash_t *methods);
 
+
 #define AXIS2_XML_SCHEMA_EXTERNAL_FREE(external, env) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
             free(external, env))
@@ -97,6 +127,14 @@
 		(((axis2_xml_schema_external_t *) external)->ops->\
             get_base_impl(external, env))
 
+#define AXIS2_XML_SCHEMA_EXTERNAL_SUPER_OBJS(external, env) \
+		(((axis2_xml_schema_external_t *) external)->ops->\
+            super_objs(external, env))
+
+#define AXIS2_XML_SCHEMA_EXTERNAL_TYPE(external, env) \
+		(((axis2_xml_schema_external_t *) external)->ops->\
+            type(external, env))
+
 #define AXIS2_XML_SCHEMA_EXTERNAL_GET_SCHEMA(external, env) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
             get_schema(external, env))
@@ -104,6 +142,14 @@
 #define AXIS2_XML_SCHEMA_EXTERNAL_SET_SCHEMA(external, env, max_occurs) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
             set_schema(external, env, max_occurs))
+            
+#define AXIS2_XML_SCHEMA_EXTERNAL_GET_SCHEMA_LOCATION(external, env) \
+		(((axis2_xml_schema_external_t *) external)->ops->\
+            get_schema(external, env))
+
+#define AXIS2_XML_SCHEMA_EXTERNAL_SET_SCHEMA_LOCATION(external, env, location) \
+		(((axis2_xml_schema_external_t *) external)->ops->\
+            set_schema(external, env, location))            
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_facet.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_facet.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_facet.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_facet.h Mon May 15 02:31:10 2006
@@ -25,6 +25,7 @@
  */
 
 #include <xml_schema/axis2_xml_schema_annotated.h>
+#include <xml_schema/axis2_xml_schema_defines.h>
 #include <axis2_om_element.h>
 #include <axis2_om_node.h>
 #include <axis2_hash.h>
@@ -38,27 +39,10 @@
 {
 #endif
 
-typedef struct axis2_xml_schema_facet axis2_xml_schema_facet_t;
-typedef struct axis2_xml_schema_facet_ops axis2_xml_schema_facet_ops_t;
-
-typedef enum axis2_xml_schema_facet_type
-{
-    AXIS2_XML_SCHEMA_FACET = 0,
-    AXIS2_XML_SCHEMA_ENUMARATION_FACET,
-    AXIS2_XML_SCHEMA_FRACTION_DIGITS_FACET,
-    AXIS2_XML_SCHEMA_LENGTH_FACET,
-    AXIS2_XML_SCHEMA_MAX_EXCLUSIVE_FACET,
-    AXIS2_XML_SCHEMA_MAX_INCLUSIVE_FACET,
-    AXIS2_XML_SCHEMA_MAX_LENGTH_FACET,
-    AXIS2_XML_SCHEMA_MIN_EXCLUSIVE_FACET,
-    AXIS2_XML_SCHEMA_MIN_INCLUSIVE_FACET,
-    AXIS2_XML_SCHEMA_MIN_LENGTH_FACET,
-    AXIS2_XML_SCHEMA_NUMERAIC_FACET,
-    AXIS2_XML_SCHEMA_PATTERN_FACET,
-    AXIS2_XML_SCHEMA_TATAL_DIGITS_FACET,
-    AXIS2_XML_SCHEMA_WHITE_SPACE_FACET
-    
-}axis2_xml_schema_facet_type_t; 
+typedef struct axis2_xml_schema_facet 
+                    axis2_xml_schema_facet_t;
+typedef struct axis2_xml_schema_facet_ops 
+                    axis2_xml_schema_facet_ops_t;
 
 struct axis2_xml_schema_facet_ops
 {
@@ -73,6 +57,14 @@
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
     get_base_impl) (void *facet,
                     axis2_env_t **env);
+    
+    axis2_xml_schema_types_t (AXIS2_CALL*
+    type)(void *facet,
+          axis2_env_t **env);
+          
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *facet,
+                axis2_env_t **env);          
 
     axis2_bool_t (AXIS2_CALL *
     is_fixed)(void *facet,
@@ -92,10 +84,6 @@
                     axis2_env_t **env,
                     void *value);
     
-    int (AXIS2_CALL *
-    get_facet_type)(void *facet,
-                    axis2_env_t **env);
-                    
     axis2_status_t (AXIS2_CALL *
     set_facet_type)(void *facet,
                     axis2_env_t **env,
@@ -114,23 +102,25 @@
  */
 AXIS2_DECLARE(axis2_xml_schema_facet_t *)
 axis2_xml_schema_facet_create(axis2_env_t **env,
-                                void *value,
-                                axis2_bool_t fixed);
+                              void *value,
+                              axis2_bool_t fixed,
+                              axis2_xml_schema_types_t type);
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+ 
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_facet_resolve_methods(
                                 axis2_xml_schema_facet_t *facet,
                                 axis2_env_t **env,
                                 axis2_xml_schema_facet_t *facet_impl,
                                 axis2_hash_t *methods);
-                                
+*/                                
 AXIS2_DECLARE(axis2_xml_schema_facet_t *)
 axis2_xml_schema_facet_construct(axis2_env_t **env,
                                  axis2_om_node_t *node);
                                                                  
+/************************* macros *********************************************/
 
 #define AXIS2_XML_SCHEMA_FACET_FREE(facet, env) \
 		(((axis2_xml_schema_facet_t *) facet)->ops->\
@@ -140,6 +130,14 @@
 		(((axis2_xml_schema_facet_t *) facet)->ops->\
             get_base_impl(facet, env))
 
+#define AXIS2_XML_SCHEMA_FACET_TYPE(facet, env) \
+		(((axis2_xml_schema_facet_t *) facet)->ops->\
+            type(facet, env))
+
+#define AXIS2_XML_SCHEMA_FACET_SUPER_OBJS(facet, env) \
+        (((axis2_xml_schema_facet_t *) facet)->ops->\
+            super_objs(facet, env))
+
 #define AXIS2_XML_SCHEMA_FACET_IS_FIXED(facet, env) \
 		(((axis2_xml_schema_facet_t *) facet)->ops->\
             is_fixed(facet, env))
@@ -160,10 +158,7 @@
         (((axis2_xml_schema_facet_t *) facet)->ops->\
             set_facet_type(facet, env, facet_type))
             
-#define AXIS2_XML_SCHEMA_FACET_GET_FACET_TYPE(facet, env) \
-        (((axis2_xml_schema_facet_t *) facet)->ops->\
-            get_facet_type(facet, env))                        
-
+/*************************** macros ************************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_form.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_form.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_form.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_form.h Mon May 15 02:31:10 2006
@@ -83,15 +83,7 @@
 axis2_xml_schema_form_create(axis2_env_t **env,
                                     axis2_char_t* value);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- */
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_form_resolve_methods(
-                                axis2_xml_schema_form_t *form,
-                                axis2_env_t **env,
-                                axis2_xml_schema_form_t *form_impl,
-                                axis2_hash_t *methods);
+/***************** Macros ************************************************/
 
 #define AXIS2_XML_SCHEMA_FORM_FREE(form, env) \
 		(((axis2_xml_schema_form_t *) form)->ops->free(form, env))

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group.h Mon May 15 02:31:10 2006
@@ -99,14 +99,16 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+ 
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_group_resolve_methods(
                                 axis2_xml_schema_group_t *group,
                                 axis2_env_t **env,
                                 axis2_xml_schema_group_t *group_impl,
                                 axis2_hash_t *methods);
+*/
 
+/**************************** Macros *************************************/
 #define AXIS2_XML_SCHEMA_GROUP_FREE(group, env) \
 		(((axis2_xml_schema_group_t *) group)->ops->\
             free(group, env))

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_base.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_base.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_base.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_base.h Mon May 15 02:31:10 2006
@@ -69,6 +69,15 @@
     axis2_xml_schema_obj_collection_t *(AXIS2_CALL *
     get_items)(void *group_base,
                     axis2_env_t **env);
+    /**
+     * only valid if the type is AXIS2_XML_SCHEMA_SEQUENCE
+     */
+    axis2_status_t (AXIS2_CALL *
+    to_string)(void *group_base,
+               axis2_env_t **env,
+               axis2_char_t *prefix,
+               int tab);
+               
 
 };
 
@@ -78,19 +87,23 @@
     axis2_xml_schema_group_base_ops_t *ops;
 };
 
+
 AXIS2_DECLARE(axis2_xml_schema_group_base_t *)
 axis2_xml_schema_group_base_create(axis2_env_t **env);
 
+AXIS2_DECLARE(axis2_xml_schema_group_base_t *)
+axis2_xml_schema_all_create(axis2_env_t **env);
+
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_group_base_resolve_methods(
                                 axis2_xml_schema_group_base_t *group_base,
                                 axis2_env_t **env,
                                 axis2_xml_schema_group_base_t *group_base_impl,
                                 axis2_hash_t *methods);
-
+*/
+/********************** macros ***********************************************/
 #define AXIS2_XML_SCHEMA_GROUP_BASE_FREE(group_base, env) \
 		(((axis2_xml_schema_group_base_t *) group_base)->ops->free(group_base, env))
 
@@ -106,7 +119,11 @@
 #define AXIS2_XML_SCHEMA_GROUP_BASE_GET_ITEMS(group_base, env) \
 		(((axis2_xml_schema_group_base_t *) group_base)->ops->get_items(group_base, env))
 
+#define AXIS2_XML_SCHEMA_GROUP_BASE_TO_STRING(group_base, env, prefix, tab) \
+        (((axis2_xml_schema_group_base_t *) group_base)->ops->to_string(group_base, \
+            env, prefix, tab))
 
+/*********************** end macros ********************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_ref.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_ref.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_ref.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_group_ref.h Mon May 15 02:31:10 2006
@@ -97,14 +97,16 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_group_ref_resolve_methods(
                                 axis2_xml_schema_group_ref_t *group_ref,
                                 axis2_env_t **env,
                                 axis2_xml_schema_group_ref_t *group_ref_impl,
                                 axis2_hash_t *methods);
-
+ */
+ 
+/******************* Macros ******************************************************/ 
 #define AXIS2_XML_SCHEMA_GROUP_REF_FREE(group_ref, env) \
 		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
             free(group_ref, env))
@@ -131,6 +133,7 @@
 		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
             get_particle(group_ref, env))
 
+/*************************** end macros ****************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h Mon May 15 02:31:10 2006
@@ -25,6 +25,7 @@
 
 #include <xml_schema/axis2_xml_schema_annotated.h>
 #include <axis2_hash.h>
+#include <axis2_qname.h>
 
 /** @defidentity_constraint axis2_xml_schema_identity_constraint Xml Schema 
   *  Identity Constraint
@@ -51,32 +52,51 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *identity_constraint,
+    free) (void *id_constr,
             axis2_env_t **env);
 
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
-    get_base_impl) (void *identity_constraint,
+    get_base_impl) (void *id_constr,
                     axis2_env_t **env);
+                    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *id_constr,
+                axis2_env_t **env);
+                
+                        
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type) (void *id_constr,
+            axis2_env_t **env);   
+        
+    /** xml schema keyref method */            
+    axis2_qname_t* (AXIS2_CALL *
+    get_refer)(void *id_constr,
+               axis2_env_t **env);
+
+    /** xml schema keyref method */               
+    axis2_status_t (AXIS2_CALL *                                                                    set_refer)(void *id_constr,
+               axis2_env_t **env,
+               axis2_qname_t *refer);
 
     struct axis2_xml_schema_obj_collection *(AXIS2_CALL *
-    get_fields)(void *identity_constraint,
+    get_fields)(void *id_constr,
                 axis2_env_t **env);
 
     axis2_char_t *(AXIS2_CALL *
-    get_name)(void *identity_constraint,
+    get_name)(void *id_constr,
                 axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
-    set_name)(void *identity_constraint,
+    set_name)(void *id_constr,
                     axis2_env_t **env,
                     axis2_char_t *name);
     
     struct axis2_xml_schema_xpath *(AXIS2_CALL *
-    get_selector)(void *identity_constraint,
+    get_selector)(void *id_constr,
                     axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
-    set_selector)(void *identity_constraint,
+    set_selector)(void *id_constr,
                     axis2_env_t **env,
                     struct axis2_xml_schema_xpath *selector);
 };
@@ -93,44 +113,73 @@
 AXIS2_DECLARE(axis2_xml_schema_identity_constraint_t *)
 axis2_xml_schema_identity_constraint_create(axis2_env_t **env);
 
+AXIS2_DECLARE(axis2_xml_schema_identity_constraint_t *)
+axis2_xml_schema_unique_create(axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_xml_schema_identity_constraint_t *)
+axis2_xml_schema_keyref_create(axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_xml_schema_identity_constraint_t *)
+axis2_xml_schema_key_create(axis2_env_t **env);
+
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+ 
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_identity_constraint_resolve_methods(
                 axis2_xml_schema_identity_constraint_t *identity_constraint,
                 axis2_env_t **env,
                 axis2_xml_schema_identity_constraint_t *identity_constraint_impl,
                 axis2_hash_t *methods);
+*/                
+/**************** Macros *****************************************************/                
 
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_FREE(identity_constraint, env) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            free(identity_constraint, env))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_BASE_IMPL(identity_constraint, env) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            get_base_impl(identity_constraint, env))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_FIELDS(identity_constraint, env) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            get_fields(identity_constraint, env))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_NAME(identity_constraint, env) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            get_name(identity_constraint, env))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_NAME(identity_constraint, env, name) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            set_name(identity_constraint, env, name))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_SELECTOR(identity_constraint, env) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            get_selector(identity_constraint, env))
-
-#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_SELECTOR(identity_constraint, env, selector) \
-		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
-            set_selector(identity_constraint, env, selector))
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_FREE(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            free(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_BASE_IMPL(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_base_impl(id_constr, env))
+
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_TYPE(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            type(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SUPER_OBJS(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            super_objs(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_REFER(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_refer(id_constr, env))
+            
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_REFER(id_constr, env, refer) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_refer(id_constr, env, refer))            
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_FIELDS(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_fields(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_NAME(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_name(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_NAME(id_constr, env, name) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            set_name(id_constr, env, name))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_SELECTOR(id_constr, env) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            get_selector(id_constr, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_SELECTOR(id_constr, env, selector) \
+		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
+            set_selector(id_constr, env, selector))
 
+/********************** macros **************************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_import.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_import.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_import.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_import.h Mon May 15 02:31:10 2006
@@ -45,26 +45,34 @@
 
 struct axis2_xml_schema_import_ops
 {
-	/** 
-     * Deallocate memory
-     * @return status code
-     */
     axis2_status_t (AXIS2_CALL *
     free) (void *import,
             axis2_env_t **env);
 
+    axis2_xml_schema_external_t* (AXIS2_CALL *
+    get_base_impl)(void *import,
+                   axis2_env_t **env);
+
+
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *import,
+                axis2_env_t **env);
+                
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *import,
+                axis2_env_t **env);                
+    
     axis2_char_t* (AXIS2_CALL *
     get_namespace)(void *import,
                 axis2_env_t **env);
                 
+                
+                
     axis2_status_t (AXIS2_CALL *
     set_namespace)(void *import,
                 axis2_env_t **env,
                 axis2_char_t *ns);
 
-    axis2_xml_schema_external_t* (AXIS2_CALL *
-    get_base_impl)(void *import,
-                   axis2_env_t **env);
 };
 
 struct axis2_xml_schema_import
@@ -81,14 +89,16 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_import_resolve_methods(
                                 axis2_xml_schema_import_t *import,
                                 axis2_env_t **env,
                                 axis2_xml_schema_import_t *import_impl,
                                 axis2_hash_t *methods);
-
+ */
+ 
+ 
 #define AXIS2_XML_SCHEMA_IMPORT_FREE(import, env) \
 		(((axis2_xml_schema_import_t *) import)->ops->\
             free(import, env))
@@ -96,6 +106,14 @@
 #define AXIS2_XML_SCHEMA_IMPORT_GET_BASE_IMPL(import, env) \
 		(((axis2_xml_schema_import_t *) import)->ops->\
             get_base_impl(import, env))
+            
+#define AXIS2_XML_SCHEMA_IMPORT_TYPE(import, env) \
+		(((axis2_xml_schema_import_t *) import)->ops->\
+            type(import, env))
+            
+#define AXIS2_XML_SCHEMA_IMPORT_SUPER_OBJS(import, env) \
+		(((axis2_xml_schema_import_t *) import)->ops->\
+            super_objs(import, env))                        
 
 #define AXIS2_XML_SCHEMA_IMPORT_GET_NAMESPACE(import, env) \
 		(((axis2_xml_schema_import_t *) import)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj.h Mon May 15 02:31:10 2006
@@ -137,7 +137,6 @@
 #define AXIS2_XML_SCHEMA_OBJ_SET_LINE_POS(obj, env, line_pos) \
 		(((axis2_xml_schema_obj_t *) obj)->ops->set_line_pos (obj, env, line_pos))
 
-
 #define AXIS2_XML_SCHEMA_OBJ_GET_SOURCE_URI(obj, env) \
 		(((axis2_xml_schema_obj_t *) obj)->ops->get_source_uri (obj, env))
 
@@ -147,7 +146,6 @@
 
 #define AXIS2_XML_SCHEMA_OBJ_EQUALS(obj, env) \
 		(((axis2_xml_schema_obj_t *) obj)->ops->equals (obj, env))
-
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h Mon May 15 02:31:10 2006
@@ -66,7 +66,7 @@
     get_count) (axis2_xml_schema_obj_table_t *obj_table,
                 axis2_env_t **env);
 
-    axis2_xml_schema_obj_t *(AXIS2_CALL *
+    void *(AXIS2_CALL *
     get_item) (axis2_xml_schema_obj_table_t *obj_table,
                axis2_env_t **env,
                axis2_qname_t *qname);
@@ -88,7 +88,7 @@
     add) (axis2_xml_schema_obj_table_t *obj_table,
           axis2_env_t **env,
           axis2_qname_t *qname,
-          axis2_xml_schema_obj_t *value);
+          void *value);
 };
 
 struct axis2_xml_schema_obj_table
@@ -118,8 +118,8 @@
 #define AXIS2_XML_SCHEMA_OBJ_TABLE_CONTAINS(obj_table, env, qname) \
 		((obj_table)->ops->contains (obj_table, env, qname))
 
-#define AXIS2_XML_SCHEMA_OBJ_TABLE_ADD(obj_table, env, value) \
-		((obj_table)->ops->add (obj_table, env, value))
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_ADD(obj_table, env, qname, value) \
+		((obj_table)->ops->add (obj_table, env, qname, value))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_redefine.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_redefine.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_redefine.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_redefine.h Mon May 15 02:31:10 2006
@@ -47,19 +47,22 @@
 
 struct axis2_xml_schema_redefine_ops
 {
-	/** 
-     * Deallocate memory
-     * @return status code
-     */
     axis2_status_t (AXIS2_CALL *
     free) (void *redefine,
             axis2_env_t **env);
             
-            
     axis2_xml_schema_external_t* (AXIS2_CALL *
     get_base_impl)(void *redefine,
                    axis2_env_t **env);            
 
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *redefine,
+                axis2_env_t **env);            
+
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *redefine,
+          axis2_env_t **env);            
+
     axis2_xml_schema_obj_table_t* (AXIS2_CALL *
     get_attribute_group)(void *redefine,
                 axis2_env_t **env);
@@ -68,8 +71,6 @@
     set_attribute_group)(void *redefine,
                 axis2_env_t **env,
                 axis2_xml_schema_obj_table_t *group);
-
-   
                    
     axis2_xml_schema_obj_collection_t* (AXIS2_CALL *
     get_items)(void *redefine,
@@ -83,8 +84,6 @@
     get_group)(void *redefine, 
                axis2_env_t **env);                      
                       
-                                       
-                       
 };
 
 struct axis2_xml_schema_redefine
@@ -101,14 +100,15 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_redefine_resolve_methods(
                                 axis2_xml_schema_redefine_t *redefine,
                                 axis2_env_t **env,
                                 axis2_xml_schema_redefine_t *redefine_impl,
                                 axis2_hash_t *methods);
-
+ */
+ 
 #define AXIS2_XML_SCHEMA_REDEFINE_FREE(redefine, env) \
 		(((axis2_xml_schema_redefine_t *) redefine)->ops->\
             free(redefine, env))
@@ -116,6 +116,14 @@
 #define AXIS2_XML_SCHEMA_REDEFINE_GET_BASE_IMPL(redefine, env) \
 		(((axis2_xml_schema_redefine_t *) redefine)->ops->\
             get_base_impl(redefine, env))
+
+#define AXIS2_XML_SCHEMA_REDEFINE_TYPE(redefine, env) \
+		(((axis2_xml_schema_redefine_t *) redefine)->ops->\
+            type(redefine, env))
+
+#define AXIS2_XML_SCHEMA_REDEFINE_SUPER_OBJS(redefine, env) \
+		(((axis2_xml_schema_redefine_t *) redefine)->ops->\
+            super_objs(redefine, env))
 
 #define AXIS2_XML_SCHEMA_REDEFINE_GET_ATTRIBUTE_GROUP(redefine, env) \
 		(((axis2_xml_schema_redefine_t *) redefine)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content.h Mon May 15 02:31:10 2006
@@ -56,6 +56,14 @@
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
     get_base_impl) (void *sim_content,
                     axis2_env_t **env);
+                    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *sim_content,
+                axis2_env_t **env);
+                    
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type) (void *sim_content,
+           axis2_env_t **env);                                        
 
     void* (AXIS2_CALL *
     get_content)(
@@ -66,14 +74,8 @@
     set_content)(
             void *sim_content,
             axis2_env_t **env,
-            void *content,
-            int content_type);
+            void *content);
     
-    int (AXIS2_CALL *
-    get_content_type)(
-            void *sim_content,
-            axis2_env_t **env);
-            
     axis2_char_t* (AXIS2_CALL*
     to_string)(void *sim_content,
                axis2_env_t **env,
@@ -96,14 +98,15 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_simple_content_resolve_methods(
                                 axis2_xml_schema_simple_content_t *sim_content,
                                 axis2_env_t **env,
                                 axis2_xml_schema_simple_content_t *group_impl,
                                 axis2_hash_t *methods);
-
+ */
+ 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_FREE(sim_content, env) \
 		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
             free(sim_content, env))
@@ -112,18 +115,22 @@
 		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
             get_base_impl(sim_content, env))
 
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_SUPER_OBJS(sim_content, env) \
+		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
+            super_objs(sim_content, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_TYPE(sim_content, env) \
+		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
+            type(sim_content, env))
+                        
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_GET_CONTENT(sim_content, env) \
 		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
             get_content(sim_content, env))
 
-#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_SET_CONTENT(sim_content, env, content, content_type) \
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_SET_CONTENT(sim_content, env, content) \
 		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
-            set_content(sim_content, env, content, content_type ))
+            set_content(sim_content, env, content))
 
-#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_GET_CONTENT_TYPE(sim_content, env) \
-		(((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
-            get_content_type(sim_content, env))
-            
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_TO_STRING(sim_content, env, prefix, tab) \
         (((axis2_xml_schema_simple_content_t *) sim_content)->ops->\
             to_string(sim_content, env, prefix, tab))            

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_extension.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_extension.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_extension.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_extension.h Mon May 15 02:31:10 2006
@@ -52,37 +52,45 @@
 struct axis2_xml_schema_simple_content_extension_ops
 {
     axis2_status_t (AXIS2_CALL *
-    free) (axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+    free) (void *sim_content_ext,
             axis2_env_t **env);
 
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
-    get_base_impl) (axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+    get_base_impl) (void *sim_content_ext,
                     axis2_env_t **env);
+                    
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *sim_content_ext,
+          axis2_env_t **env);
+          
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *sim_content_ext,
+                axis2_env_t **env);                              
 
     axis2_xml_schema_any_attribute_t* (AXIS2_CALL *
     get_any_attribute)(
-            axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+            void* sim_content_ext,
             axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
     set_any_attribute)(
-            axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+            void *sim_content_ext,
             axis2_env_t **env,
             axis2_xml_schema_any_attribute_t *any_attr);
     
     axis2_xml_schema_obj_collection_t* (AXIS2_CALL *
     get_attributes)(
-            axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+            void *sim_content_ext,
             axis2_env_t **env);
             
     axis2_qname_t* (AXIS2_CALL*
     get_base_type_name)(
-            axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+            void *sim_content_ext,
             axis2_env_t **env);
             
     axis2_status_t (AXIS2_CALL *
     set_base_type_name)(
-            axis2_xml_schema_simple_content_extension_t *sim_content_ext,
+            void *sim_content_ext,
             axis2_env_t **env,
             axis2_qname_t *qname);
             
@@ -92,6 +100,7 @@
 
 struct axis2_xml_schema_simple_content_extension
 {
+    axis2_xml_schema_annotated_t base;
     axis2_xml_schema_simple_content_extension_ops_t *ops;
 };
 
@@ -101,29 +110,44 @@
 AXIS2_DECLARE(axis2_xml_schema_simple_content_extension_t *)
 axis2_xml_schema_simple_content_extension_create(axis2_env_t **env);
 
-
+/************************** Macros ****************************************************/
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_FREE(sim_content_ext, env) \
-		((sim_content_ext)->ops->free(sim_content_ext, env))
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+		    free(sim_content_ext, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_BASE_IMPL(sim_content_ext, env) \
-		((sim_content_ext)->ops->get_base_impl(sim_content_ext, env))
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+            get_base_impl(sim_content_ext, env))
 
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_TYPE(sim_content_ext, env) \
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+            type(sim_content_ext, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SUPER_OBJS(sim_content_ext, env) \
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+            super_objs(sim_content_ext, env))            
+    
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_ANY_ATTRIBUTE(sim_content_ext, env) \
-		((sim_content_ext)->ops->get_any_attribute(sim_content_ext, env))
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+		    get_any_attribute(sim_content_ext, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SET__ANY_ATTRIBUTE(sim_content_ext, env, any_attr)\
-		((sim_content_ext)->ops->set_content(sim_content_ext, env, any_attr ))
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+		    set_content(sim_content_ext, env, any_attr ))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_ATTRIBUTES(sim_content_ext, env) \
-		((sim_content_ext)->ops->get_attributes(sim_content_ext, env))
+		(((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+		    get_attributes(sim_content_ext, env))
             
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_BASE_TYPE_NAME(sim_content_ext, env)\
-        ((sim_content_ext)->ops->get_base_type_name(sim_content_ext, env))            
+        (((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+            get_base_type_name(sim_content_ext, env))            
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SET_BASE_TYPE_NAME(sim_content_ext, \
           env, base_type_name) \
-        ((sim_content_ext)->ops->set_base_type_name(sim_content_ext, env, base_type_name))
+        (((axis2_xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
+            set_base_type_name(sim_content_ext, env, base_type_name))
             
             
 /** @} */

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_restriction.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_restriction.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_restriction.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_content_restriction.h Mon May 15 02:31:10 2006
@@ -54,60 +54,71 @@
 struct axis2_xml_schema_simple_content_restriction_ops
 {
     axis2_status_t (AXIS2_CALL *
-    free) (axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+    free) (void *sim_content_res,
            axis2_env_t **env);
 
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
     get_base_impl)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);
+            
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(
+            void *sim_content_res,
+            axis2_env_t **env);
+            
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(
+            void *sim_content_res,
+            axis2_env_t **env);                        
 
     axis2_xml_schema_any_attribute_t* (AXIS2_CALL *
     get_any_attribute)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
     set_any_attribute)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env,
             axis2_xml_schema_any_attribute_t *any_attr);
     
     axis2_xml_schema_obj_collection_t* (AXIS2_CALL *
     get_attributes)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);
             
     axis2_qname_t* (AXIS2_CALL*
     get_base_type_name)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);
             
     axis2_status_t (AXIS2_CALL *
     set_base_type_name)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env,
             axis2_qname_t *qname); 
             
     axis2_xml_schema_simple_type_t* (AXIS2_CALL*
     get_base_type)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);
                    
     axis2_status_t (AXIS2_CALL *
     set_base_type)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env,
             axis2_xml_schema_simple_type_t *base_type); 
                    
     axis2_xml_schema_obj_collection_t* (AXIS2_CALL *
     get_facets)(
-            axis2_xml_schema_simple_content_restriction_t *sim_content_res,
+            void *sim_content_res,
             axis2_env_t **env);                   
 };
 
 struct axis2_xml_schema_simple_content_restriction
 {
+    axis2_xml_schema_annotated_t base;
     axis2_xml_schema_simple_content_restriction_ops_t *ops;
 };
 
@@ -120,37 +131,55 @@
 
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_FREE(sim_content_res, env) \
-		((sim_content_res)->ops->free(sim_content_res, env))
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		free(sim_content_res, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_BASE_IMPL(sim_content_res, env) \
-		((sim_content_res)->ops->get_base_impl(sim_content_res, env))
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		get_base_impl(sim_content_res, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_ANY_ATTRIBUTE(sim_content_res, env) \
-		((sim_content_res)->ops->get_any_attribute(sim_content_res, env))
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+        get_any_attribute(sim_content_res, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SET__ANY_ATTRIBUTE(sim_content_res,\
          env, any_attr)\
-		((sim_content_res)->ops->set_content(sim_content_res, env, any_attr ))
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		    set_content(sim_content_res, env, any_attr ))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_ATTRIBUTES(sim_content_res, env) \
-		((sim_content_res)->ops->get_attributes(sim_content_res, env))
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		    get_attributes(sim_content_res, env))
             
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_BASE_TYPE_NAME(sim_content_res, env)\
-        ((sim_content_res)->ops->get_base_type_name(sim_content_res, env))            
-
-#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SET_BASE_TYPE_NAME(sim_content_res, env, base_type_name) \
-        ((sim_content_res)->ops->set_base_type_name(sim_content_res, env, base_type_name))
-            
-#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SET_BASE_TYPE(sim_content_res, env, base_type) \
-        ((sim_content_res)->ops->set_base_type(sim_content_res, env, base_type)) 
+        (((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+            get_base_type_name(sim_content_res, env))            
+    
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SET_BASE_TYPE_NAME\
+            (sim_content_res, env, base_type_name) \
+        (((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+        set_base_type_name(sim_content_res, env, base_type_name))
+                
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SET_BASE_TYPE\
+            (sim_content_res, env, base_type) \
+        (((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+            set_base_type(sim_content_res, env, base_type)) 
             
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_BASE_TYPE(sim_content_res, env)\
-        ((sim_content_res)->ops->get_base_type(sim_content_res, env))
+        (((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+            get_base_type(sim_content_res, env))
             
 #define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_GET_FACETS(sim_content_res, env)\
-        ((sim_content_res)->ops->get_facets(sim_content_res, env))            
+        (((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+            get_facets(sim_content_res, env))            
             
-                                            
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_SUPER_OBJS(sim_content_res, env) \
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		super_objs(sim_content_res, env))  
+		
+#define AXIS2_XML_SCHEMA_SIMPLE_CONTENT_RESTRICTION_TYPE(sim_content_res, env) \
+		(((axis2_xml_schema_simple_content_restriction_t *)sim_content_res)->ops->\
+		type(sim_content_res, env))                                          
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type.h Mon May 15 02:31:10 2006
@@ -56,6 +56,14 @@
     get_base_impl) (void *simple_type,
                     axis2_env_t **env);
                     
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type) (void *simple_type,
+            axis2_env_t **env);
+                    
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs) (void *simple_type,
+                 axis2_env_t **env);                                        
+                    
     axis2_xml_schema_simple_type_content_t* (AXIS2_CALL *
     get_content)(void *simple_type,
                  axis2_env_t **env);
@@ -92,14 +100,15 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_simple_type_resolve_methods(
                                 axis2_xml_schema_simple_type_t *simple_type,
                                 axis2_env_t **env,
                                 axis2_xml_schema_simple_type_t *type_impl,
                                 axis2_hash_t *methods);
-
+ */
+ /***************** Macros ***************************************************/
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_FREE(simple_type, env) \
 		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
             free(simple_type, env))
@@ -108,6 +117,14 @@
 		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
             get_base_impl(simple_type, env))
 
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_TYPE(simple_type, env) \
+		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
+            type(simple_type, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_SUPER_OBJS(simple_type, env) \
+		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
+            super_objs(simple_type, env))            
+
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_GET_CONTENT(simple_type, env) \
 		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
             get_content(simple_type, env))
@@ -120,6 +137,7 @@
 		(((axis2_xml_schema_simple_type_t *) simple_type)->ops->\
             to_string(simple_type, env))
                                                            
+/************************ end macros ********************************************/                                                           
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_content.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_content.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_content.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_content.h Mon May 15 02:31:10 2006
@@ -35,16 +35,6 @@
 {
 #endif
 
-typedef enum axis2_xml_simple_content_types_t
-{
-    AXIS2_XML_SCHEMA_SIMPLE_CONTENT_TYPE = 0,
-    AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST,
-    AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION,
-    AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION
-
-}axis2_xml_simple_content_types_t;
-
-
 typedef struct axis2_xml_schema_simple_type_content 
                     axis2_xml_schema_simple_type_content_t;
 typedef struct axis2_xml_schema_simple_type_content_ops 
@@ -65,14 +55,13 @@
     get_base_impl) (void *sim_type_cont,
                     axis2_env_t **env);
 
-    int (AXIS2_CALL *
-    get_type)(void *sim_type_cont,
+    axis2_xml_schema_types_t    (AXIS2_CALL *
+    type)(void *sim_type_cont,
               axis2_env_t **env);
     
-    axis2_status_t (AXIS2_CALL *
-    set_type)(void *sim_type_cont,
-              axis2_env_t **env,
-              int type);
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *sim_type_cont,
+                axis2_env_t **env);
     
 };
 
@@ -103,6 +92,7 @@
                                 axis2_xml_schema_simple_type_content_t *sim_type_cont_impl,
                                 axis2_hash_t *methods);
 
+/*************************** Macros **********************************************/
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT_FREE(sim_type_cont, env) \
 		(((axis2_xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
             free(sim_type_cont, env))
@@ -111,14 +101,15 @@
 		(((axis2_xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
             get_base_impl(sim_type_cont, env))
 
-#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT_SET_TYPE(sim_type_cont, env, type) \
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT_TYPE(sim_type_cont, env) \
 		(((axis2_xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
-            set_type(sim_type_cont, env, type))
+            type(sim_type_cont, env))
 
-#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT_GET_TYPE(sim_type_cont, env) \
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_CONTENT_SUPER_OBJS(sim_type_cont, env) \
 		(((axis2_xml_schema_simple_type_content_t *) sim_type_cont)->ops->\
-            get_type(sim_type_cont, env))
+            super_objs(sim_type_cont, env))
 
+/************************ end macros *********************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_list.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_list.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_list.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_list.h Mon May 15 02:31:10 2006
@@ -56,14 +56,24 @@
     get_base_impl) (void *simple_type_list,
                     axis2_env_t **env);
 
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *simple_type_list,
+          axis2_env_t **env);
+    
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *simple_type_list,
+          axis2_env_t **env);
+          
+
     axis2_xml_schema_simple_type_t *(AXIS2_CALL *
     get_item_type)(void *simple_type_list,
                 axis2_env_t **env);
-    
+
+    /** */
     axis2_status_t (AXIS2_CALL *
     set_item_type)(void *simple_type_list,
-                    axis2_env_t **env,
-                    axis2_xml_schema_simple_type_t *base_type);
+                   axis2_env_t **env,
+                   axis2_xml_schema_simple_type_t *base_type);
     
     axis2_qname_t* (AXIS2_CALL *
     get_item_type_name)(void *simple_type_list,
@@ -94,14 +104,17 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_simple_type_list_resolve_methods(
                     axis2_xml_schema_simple_type_list_t *simple_type_list,
                     axis2_env_t **env,
                     axis2_xml_schema_simple_type_list_t *simple_type_list_impl,
                     axis2_hash_t *methods);
-
+ */
+ 
+ /********************** Macros ***********************************************/
+ 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_FREE(simple_type_list, env) \
 		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
             free(simple_type_list, env))
@@ -109,12 +122,20 @@
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_GET_BASE_IMPL(simple_type_list, env) \
 		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
             get_base_impl(simple_type_list, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_TYPE(simple_type_list, env) \
+		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
+            type(simple_type_list, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_SUPER_OBJS(simple_type_list, env) \
+		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
+            super_objs(simple_type_list, env))                        
 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_GET_ITEM_TYPE(simple_type_list, env) \
 		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
             get_item_type(simple_type_list, env))
 
-#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_SET_BASE_TYPE(simple_type_list,\
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_LIST_SET_ITEM_TYPE(simple_type_list,\
          env, base_type) \
 		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
             set_item_type(simple_type_list, env, base_type))
@@ -128,6 +149,7 @@
 		(((axis2_xml_schema_simple_type_list_t *) simple_type_list)->ops->\
             set_item_type_name(simple_type_list, env, base_type_name))
 
+/************************ end macros **********************************************/
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_restriction.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_restriction.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_restriction.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_restriction.h Mon May 15 02:31:10 2006
@@ -55,6 +55,14 @@
     axis2_xml_schema_simple_type_content_t *(AXIS2_CALL *
     get_base_impl) (void *simple_type_restriction,
                     axis2_env_t **env);
+                    
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *simple_type_restriction,
+                axis2_env_t **env);
+                
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs)(void *simple_type_restriction,
+                axis2_env_t **env);                                    
 
     axis2_xml_schema_simple_type_t *(AXIS2_CALL *
     get_base_type)(void *simple_type_restriction,
@@ -106,13 +114,15 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+ 
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_simple_type_restriction_resolve_methods(
                     axis2_xml_schema_simple_type_restriction_t *simple_type_restriction,
                     axis2_env_t **env,
                     axis2_xml_schema_simple_type_restriction_t *simple_type_restriction_impl,
                     axis2_hash_t *methods);
+*/
+
 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_FREE(simple_type_restriction, env) \
 		(((axis2_xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
@@ -121,6 +131,14 @@
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_BASE_IMPL(simple_type_restriction, env) \
 		(((axis2_xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
             get_base_impl(simple_type_restriction, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_TYPE(simple_type_restriction, env) \
+		(((axis2_xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
+            type(simple_type_restriction, env))
+            
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_SUPER_OBJS(simple_type_restriction, env) \
+		(((axis2_xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
+            super_objs(simple_type_restriction, env))                        
 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_BASE_TYPE(simple_type_restriction, env) \
 		(((axis2_xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_union.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_union.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_union.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_simple_type_union.h Mon May 15 02:31:10 2006
@@ -56,6 +56,14 @@
     axis2_xml_schema_simple_type_content_t *(AXIS2_CALL *
     get_base_impl) (void *simple_type_union,
                     axis2_env_t **env);
+                    
+    axis2_hash_t*(AXIS2_CALL *
+    super_objs)(void *simple_type_union,
+                    axis2_env_t **env);                    
+    
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *simple_type_union,
+          axis2_env_t **env);
 
     axis2_xml_schema_obj_collection_t*(AXIS2_CALL *
     get_base_types)(void *simple_type_union,
@@ -95,21 +103,30 @@
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor
- */
+
 AXIS2_DECLARE(axis2_status_t)
 axis2_xml_schema_simple_type_union_resolve_methods(
                     axis2_xml_schema_simple_type_union_t *simple_type_union,
                     axis2_env_t **env,
                     axis2_xml_schema_simple_type_union_t *simple_type_union_impl,
                     axis2_hash_t *methods);
-
-#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_FREE(simple_type_union, env) \
+ */
+ 
+ #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_FREE(simple_type_union, env) \
 		(((axis2_xml_schema_simple_type_union_t *) simple_type_union)->ops->\
             free(simple_type_union, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_IMPL(simple_type_union, env) \
 		(((axis2_xml_schema_simple_type_union_t *) simple_type_union)->ops->\
             get_base_impl(simple_type_union, env))
+
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_SUPER_OBJS(simple_type_union, env) \
+		(((axis2_xml_schema_simple_type_union_t *) simple_type_union)->ops->\
+            super_objs(simple_type_union, env))
+
+#define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_TYPE(simple_type_union, env) \
+		(((axis2_xml_schema_simple_type_union_t *) simple_type_union)->ops->\
+            type(simple_type_union, env))
 
 #define AXIS2_XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_TYPES(simple_type_union, env) \
 		(((axis2_xml_schema_simple_type_union_t *) simple_type_union)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_type.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_type.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_type.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_type.h Mon May 15 02:31:10 2006
@@ -56,6 +56,14 @@
     axis2_xml_schema_annotated_t *(AXIS2_CALL *
     get_base_impl) (void *type,
                     axis2_env_t **env);
+                    
+    axis2_hash_t* (AXIS2_CALL *
+    super_objs)(void *type,
+                axis2_env_t **env);
+                   
+    axis2_xml_schema_types_t (AXIS2_CALL *
+    type)(void *type,
+          axis2_env_t **env);                                                  
 
     void *(AXIS2_CALL *
     get_base_schema_type) (void *type,
@@ -141,6 +149,14 @@
 #define AXIS2_XML_SCHEMA_TYPE_GET_BASE_IMPL(type, env) \
 		(((axis2_xml_schema_type_t *) type)->ops->\
             get_base_impl(type, env))
+            
+#define AXIS2_XML_SCHEMA_TYPE_TYPE(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+           type(type, env)) 
+           
+#define AXIS2_XML_SCHEMA_TYPE_SUPER_OBJS(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+           super_objs(type, env))                       
 
 #define AXIS2_XML_SCHEMA_TYPE_GET_BASE_SCHEMA_TYPE(type, env) \
 		(((axis2_xml_schema_type_t *) type)->ops->\

Modified: webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_use.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_use.h?rev=406594&r1=406593&r2=406594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_use.h (original)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/include/xml_schema/axis2_xml_schema_use.h Mon May 15 02:31:10 2006
@@ -80,15 +80,7 @@
 axis2_xml_schema_use_create(axis2_env_t **env,
                                     axis2_char_t* value);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- */
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_use_resolve_methods(
-           axis2_xml_schema_use_t *use,
-           axis2_env_t **env,
-           axis2_xml_schema_use_t *use_impl,
-           axis2_hash_t *methods);
+/******************* macros ***************************************/
 
 #define AXIS2_XML_SCHEMA_USE_FREE(use, env) \
 		(((axis2_xml_schema_use_t *) use)->ops->free(use, env))