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 da...@apache.org on 2006/05/08 09:21:21 UTC

svn commit: r404947 [2/7] - in /webservices/axis2/trunk/c/modules/wsdl/woden: ./ include/woden/ include/woden/schema/ include/woden/wsdl20/ include/woden/wsdl20/extensions/ include/woden/wsdl20/xml/ include/woden/xml/ src/schema/ src/util/ src/wsdl20/ ...

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_nested_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_nested_element.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_nested_element.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_nested_element.h Mon May  8 00:21:09 2006
@@ -39,6 +39,8 @@
 #include <axis2_const.h>
 #include <axis2_hash.h>
 #include <axis2_qname.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_wsdl_element.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -61,42 +63,58 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *doc_el,
+    free) (
+            void *doc_el,
             axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
-    set_parent_element) (void *doc_el,
-                        axis2_env_t **env,
-                        struct axis2_woden_wsdl_element *parent);
-
-    struct axis2_woden_wsdl_element *(AXIS2_CALL *
-    get_parent_element) (void *doc_el,
-                        axis2_env_t **env);
+    to_nested_element_free) (
+            void *doc_el,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *doc_el,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_parent_element) (
+            void *doc_el,
+            axis2_env_t **env,
+            struct axis2_woden_wsdl_element *parent);
+
+    void *(AXIS2_CALL *
+    get_parent_element) (
+            void *doc_el,
+            axis2_env_t **env);
 
 };
 
 struct axis2_woden_nested_element
 {
+    axis2_woden_wsdl_element_t wsdl_element;
     axis2_woden_nested_element_ops_t *ops;
 };
 
-AXIS2_DECLARE(axis2_woden_nested_element_t *)
-axis2_woden_nested_element_create(axis2_env_t **env);
-
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
-AXIS2_DECLARE(axis2_status_t)
+/************************Woden C Internal Methods*****************************/
+axis2_status_t AXIS2_CALL
 axis2_woden_nested_element_resolve_methods(
-                                axis2_woden_nested_element_t *doc_el,
-                                axis2_env_t **env,
-                                axis2_woden_nested_element_t *doc_el_impl,
-                                axis2_hash_t *methods);
+        axis2_woden_nested_element_t *nested_element,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_NESTED_ELEMENT_FREE(doc_el, env) \
 		(((axis2_woden_nested_element_t *) doc_el)->ops->\
          free (doc_el, env))
+
+#define AXIS2_WODEN_NESTED_ELEMENT_TO_NESTED_ELEMENT_FREE(doc_el, env) \
+		(((axis2_woden_nested_element_t *) doc_el)->ops->\
+         to_nested_element_free (doc_el, env))
+
+#define AXIS2_WODEN_NESTED_ELEMENT_TYPE(doc_el, env) \
+		(((axis2_woden_nested_element_t *) doc_el)->ops->\
+         type (doc_el, env))
 
 #define AXIS2_WODEN_NESTED_ELEMENT_SET_PARENT_ELEMENT(doc_el, env, parent) \
 		(((axis2_woden_nested_element_t *) doc_el)->ops->\

Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_property_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_property_element.h?rev=404947&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_property_element.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_property_element.h Mon May  8 00:21:09 2006
@@ -0,0 +1,228 @@
+/*
+ * 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_WODEN_PROPERTY_ELEMENT_H
+#define AXIS2_WODEN_PROPERTY_ELEMENT_H
+
+/**
+ * @file axis2_woden_property_element.h
+ * Represents the &lt;property&gt; element and its child elements;
+ * &lt;documentation&gt;, 
+ * &lt;value&gt; or &lt;constraint&gt; and
+ * any extension elements.
+ * <p>
+ * A property may have a value or a constraint but not both. If it
+ * has a value, the &lt;constraint&gt; element may only contain the
+ * the NM Token <code>#value</code>, in which case 
+ * <code>has_value_token()</code> will return true
+ * and <code>get_constraint</code> will return null.
+ * @brief Axis2 Property Element Interface
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_url.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_documentable_element.h>
+#include <woden/wsdl20/xml/axis2_woden_nested_element.h>
+#include <woden/axis2_woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_woden_property_element axis2_woden_property_element_t;
+typedef struct axis2_woden_property_element_ops axis2_woden_property_element_ops_t;
+typedef union axis2_woden_property_element_base axis2_woden_property_element_base_t;
+struct axis2_xml_schema_type;
+
+/** @defgroup axis2_woden_property_element Property Element
+  * @ingroup axis2_wsdl
+  * @{
+  */
+
+struct axis2_woden_property_element_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *doc_el,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_property_element_free) (
+            void *doc_el,
+            axis2_env_t **env);
+
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *doc_el,
+            axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_ref) (void *doc_el,
+            axis2_env_t **env,
+            axis2_url_t *uri);
+
+    axis2_url_t *(AXIS2_CALL *
+    get_ref) (void *doc_el,
+            axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_value) (void *doc_el,
+            axis2_env_t **env,
+            void *value);
+
+    void *(AXIS2_CALL *
+    get_value) (void *doc_el,
+            axis2_env_t **env);
+
+    /**
+     * Set the QName represented by the &lt;constraint&gt; element within the
+     * &lt;property&gt; element. This QName identifies a global type definition 
+     * from a schema inlined or imported within the &lt;types&gt; element. 
+     * Note that the use of the NMToken <code>#value</code> 
+     * as the constraint, instead of a QName, is captured using the 
+     * <code>set_has_value_token</code> method.
+     */ 
+    axis2_status_t (AXIS2_CALL *
+    set_constraint_qname) (
+            void *property_el,
+            axis2_env_t **env,
+            axis2_qname_t *qname);
+   
+    axis2_qname_t *(AXIS2_CALL *
+    get_constraint_qname) (
+            void *property_el,
+            axis2_env_t **env);
+
+    /**
+     * Returns the Schema type definition identified by the QName in the &lt;
+     * constraint&gt; element within the &lt;property&gt; element.
+     * If this QName does not resolve to an type definition in a schema that 
+     * is visible to the containing WSDL description, null will be returned by 
+     * this method. To be visible, the Schema must have been correctly imported 
+     * or inlined within the &lt;types&gt; element.
+     * 
+     * @return the Xml Schema Type identified by the &lt;constraint&gt; element
+     */
+    struct axis2_xml_schema_type *(AXIS2_CALL *
+    get_constraint) (
+            void *property_el,
+            axis2_env_t **env);
+
+    /**
+     * Set to true if &lt;constraint&gt; specifies the NMToken <code>"#value"
+     * </code> rather than a QName, indicating that this property specifies a 
+     * value rather than a constraint.
+     * Set to false if &lt;constraint&gt; does not specify the NMToken "#value", 
+     * or if it is omitted. 
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_has_value_token) (
+            void *property_el,
+            axis2_env_t **env,
+            axis2_bool_t b);
+    
+    /**
+     * Returns true if &lt;constraint&gt; specifies the NMToken "#value" rather 
+     * than a QName, indicating that this property specifies a value rather than 
+     * a constraint. Returns false if &lt;constraint&gt; does not specify the 
+     * NMToken "#value", or if it is omitted.
+     */ 
+    axis2_bool_t (AXIS2_CALL * 
+    has_value_token) (
+            void *property_el,
+            axis2_env_t **env);
+
+};
+
+union axis2_woden_property_element_base
+{
+    axis2_woden_documentable_element_t documentable_element;
+    axis2_woden_nested_element_t nested_element;
+};
+
+struct axis2_woden_property_element
+{
+    axis2_woden_property_element_base_t base;
+    axis2_woden_property_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods*****************************/
+axis2_status_t AXIS2_CALL
+axis2_woden_property_element_resolve_methods(
+        axis2_woden_property_element_t *property_element,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_FREE(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         free (doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_TO_PROPERTY_ELEMENT_FREE(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         to_property_element_free (doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_TYPE(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         type (doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_SET_REF(doc_el, env, uri) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         set_ref(doc_el, env, uri))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_GET_REF(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         get_ref(doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_SET_CONSTRAINT_QNAME(doc_el, env, qname) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         set_constraint_qname(doc_el, env, qname))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_GET_CONSTRAINT_QNAME(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         get_constraint_qname(doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_GET_CONSTRAINT(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         get_constraint(doc_el, env))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_SET_HAS_VALUE_TOKEN(doc_el, env, b) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         set_has_value_token(doc_el, env, b))
+
+#define AXIS2_WODEN_PROPERTY_ELEMENT_HAS_VALUE_TOKEN(doc_el, env) \
+		(((axis2_woden_property_element_t *) doc_el)->ops->\
+         has_value_token(doc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_PROPERTY_ELEMENT_H */

Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_types_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_types_element.h?rev=404947&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_types_element.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_types_element.h Mon May  8 00:21:09 2006
@@ -0,0 +1,237 @@
+/*
+ * 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_WODEN_TYPES_ELEMENT_H
+#define AXIS2_WODEN_TYPES_ELEMENT_H
+
+/**
+ * @file axis2_woden_types_element.h
+ * @brief Axis2 Types Element Interface
+ * This interface represents the &lt;wsdl:types&gt; element. 
+ * It supports parsing, creating and manipulating a &lt;types&gt; element.
+ * <p>
+ * The data types used in WSDL elements are typically defined within a 
+ * &lt;types&gt; element using a type system such as W3C XML Schema.
+ * Schemas may be imported or inlined within &lt;types&gt;.
+ * A &lt;types&gt; element may contain multiple schema import elements with
+ * the same namespace attribute, so the schemaLocation attribute may be used 
+ * to distinguish them.
+ * Likewise, it is valid to have multiple inline schemas, so the id attribute 
+ * may be used to distinguish them.
+ * 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_url.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_documentable_element.h>
+#include <xml_schema/axis2_xml_schema.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_woden_types_element axis2_woden_types_element_t;
+typedef struct axis2_woden_types_element_ops axis2_woden_types_element_ops_t;
+struct axis2_xml_schema;
+
+/** @defgroup axis2_woden_types_element Types Element
+  * @ingroup axis2_wsdl
+  * @{
+  */
+
+struct axis2_woden_types_element_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *types_el,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_types_element_free) (
+            void *types_el,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (void *types_el,
+            axis2_env_t **env);
+    
+    /**
+     * Indicates the type system used within the &lt;types&gt; element. 
+     * Typically the W3C XML Schema type system will be used, indicated by 
+     * the namespace "http://www.w3.org/2001/XMLSchema". An alternative
+     * schema-like type system is Relax NG (http://www.relaxng.org/).
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_type_system) (void *types_el,
+            axis2_env_t **env,
+            axis2_char_t *type_system);
+
+    /**
+     * Get the string indicating the type system used within the &lt;types&gt;
+     * element.
+     */
+    axis2_char_t *(AXIS2_CALL *
+    get_type_system) (void *types_el,
+            axis2_env_t **env);
+
+    /**
+     * Add a Schema object for a schema inlined or imported within 
+     * the &lt;types&gt; element.
+     * 
+     * @param schema the Schema object.
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_schema) (void *types_el,
+            axis2_env_t **env,
+            struct axis2_xml_schema *schema);
+
+    /**
+     * Delete the specified Schema object.
+     */
+    axis2_status_t (AXIS2_CALL *
+    remove_schema) (
+            void *types_el,
+            axis2_env_t **env,
+            struct axis2_xml_schema *schema);
+    
+    /**
+     * Return the Schemas representing all inlined schemas or schema imports,
+     * in the order in which they occur within the &lt;types&gt; element.
+     * 
+     * @return an array of Schema objects
+     */
+    axis2_array_list_t *(AXIS2_CALL *
+    get_schemas) (
+            void *types_el,
+            axis2_env_t **env);
+    
+    /**
+     * Return all Schemas where the specified namespace argument is either the
+     * target namespace of an inlined schema or the imported namespace of a 
+     * schema import. Schemas are returned in the order in which they occur 
+     * within the &lt;types&gt; element.
+     * <p>
+     * A null namespace argument will return any inlined schemas missing their
+     * target namespace attribute or any schema imports missing their namespace 
+     * attribute.
+     * 
+     * @return the Schemas for the schema with the specified target namespace.
+     */
+    axis2_array_list_t *(AXIS2_CALL *
+    get_schemas_with_namespace) (
+            void *types_el,
+            axis2_env_t **env,
+            axis2_url_t *namespc);
+
+    /**
+     * Return all schemas inlined within the &lt;types&gt; element, in the order
+     * in which they occur within &lt;types&gt;.
+     * 
+     * @return an array of Schema objects.
+     */
+    axis2_array_list_t *(AXIS2_CALL *
+    get_inlined_schemas) (
+            void *types_el,
+            axis2_env_t **env);
+    
+    /**
+     * Return all schema imports from within the &lt;types&gt; element, in the order
+     * in which they occur within &lt;types&gt;.
+     * 
+     * @return an array of Schema objects.
+     */
+    axis2_array_list_t *(AXIS2_CALL *
+    get_imported_schemas) (
+            void *types_el,
+            axis2_env_t **env);
+};
+
+struct axis2_woden_types_element
+{
+    axis2_woden_documentable_element_t documentable_element;
+    axis2_woden_types_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+axis2_woden_types_element_resolve_methods(
+        axis2_woden_types_element_t *types_element,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_TYPES_ELEMENT_FREE(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         free (types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_TO_TYPES_ELEMENT_FREE(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         to_types_element_free (types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_TYPE(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         type (types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_SET_TYPE_SYSTEM(types_el, env, type_system) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         set_type_system(types_el, env, type_system))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_GET_TYPE_SYSTEM(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         get_type_system(types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_ADD_SCHEMA(types_el, env, schema) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         add_schema(types_el, env, schema))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_REMOVE_SCHEMA(types_el, env, schema) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         remove_schema(types_el, env, schema))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_GET_SCHEMAS(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         get_schemas(types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_GET_SCHEMAS_WITH_NAMESPACE(types_el, env, \
+        namespc) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         get_schemas_with_namespace(types_el, env, namespc))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_GET_INLINED_SCHEMAS(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         get_inlined_schemas(types_el, env))
+
+#define AXIS2_WODEN_TYPES_ELEMENT_GET_IMPORTED_SCHEMAS(types_el, env) \
+		(((axis2_woden_types_element_t *) types_el)->ops->\
+         get_imported_schemas(types_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_TYPES_ELEMENT_H */

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_wsdl_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_wsdl_element.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_wsdl_element.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_wsdl_element.h Mon May  8 00:21:09 2006
@@ -35,6 +35,9 @@
 #include <axis2_qname.h>
 #include <axis2_url.h>
 #include <axis2_array_list.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/extensions/axis2_woden_attr_extensible.h>
+#include <woden/wsdl20/extensions/axis2_woden_element_extensible.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -43,8 +46,7 @@
 
 typedef struct axis2_woden_wsdl_element axis2_woden_wsdl_element_t;
 typedef struct axis2_woden_wsdl_element_ops axis2_woden_wsdl_element_ops_t;
-struct axis2_woden_element_extensible;
-struct axis2_woden_attr_extensible;
+typedef union axis2_woden_wsdl_element_base axis2_woden_wsdl_element_base_t;
 struct axis2_woden_xml_attr;
 struct axis2_woden_ext_element;
 
@@ -60,128 +62,67 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *wsdl_element,
+    free) (
+            void *wsdl_element,
             axis2_env_t **env);
  
     axis2_status_t (AXIS2_CALL *
-    set_ext_attr) (void *extensible,
-                    axis2_env_t **env,
-                    axis2_qname_t *attr_type,
-                    struct axis2_woden_xml_attr *attr); 
-
-    struct axis2_woden_xml_attr *(AXIS2_CALL *
-    get_ext_attr) (void *extensible,
-                    axis2_env_t **env,
-                    axis2_qname_t *attr_type); 
-
-    axis2_array_list_t *(AXIS2_CALL *
-    get_ext_attrs) (void *extensible,
-                        axis2_env_t **env); 
-
-    axis2_array_list_t *(AXIS2_CALL *
-    get_ext_attrs_for_namespace) (void *extensible,
-                                    axis2_env_t **env,
-                                    axis2_url_t *namespc);
-
-    axis2_bool_t (AXIS2_CALL *
-    has_ext_attrs_for_namespace) (void *extensible,
-                                   axis2_env_t **env,
-                                   axis2_url_t *namespc);
-
-    axis2_status_t (AXIS2_CALL *
-    add_ext_element) (void *extensible,
-                      axis2_env_t **env,
-                      struct axis2_woden_ext_element *ext_el); 
-
-    axis2_status_t (AXIS2_CALL *
-    remove_ext_element) (void *extensible,
-                            axis2_env_t **env,
-                            struct axis2_woden_ext_element *ext_el); 
-
-    axis2_array_list_t *(AXIS2_CALL *
-    get_ext_elements) (void *extensible,
-                       axis2_env_t **env); 
-
-    axis2_array_list_t *(AXIS2_CALL *
-    get_ext_elements_of_type) (void *extensible,
-                               axis2_env_t **env,
-                               axis2_qname_t *ext_type);
-
-    axis2_bool_t (AXIS2_CALL *
-    has_ext_elements_for_namespace) (void *extensible,
-                                           axis2_env_t **env,
-                                           axis2_url_t *namespc);
-  
+    to_wsdl_element_free) (
+            void *wsdl_element,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *wsdl_element,
+            axis2_env_t **env);
+    
+};
 
+union axis2_woden_wsdl_element_base
+{
+    axis2_woden_attr_extensible_t attr_extensible;
+    axis2_woden_element_extensible_t element_extensible;
 };
 
 struct axis2_woden_wsdl_element
 {
+    axis2_woden_wsdl_element_base_t base;
     axis2_woden_wsdl_element_ops_t *ops;
 };
 
 AXIS2_DECLARE(axis2_woden_wsdl_element_t *)
-axis2_woden_wsdl_element_create(axis2_env_t **env);
+axis2_woden_wsdl_element_create(
+        axis2_env_t **env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_DECLARE(axis2_woden_wsdl_element_t *)
+axis2_woden_wsdl_element_to_attr_extensible(
+        void *wsdl_element,
+        axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_wsdl_element_t *)
+axis2_woden_wsdl_element_to_element_extensible(
+        void *wsdl_element,
+        axis2_env_t **env);
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_wsdl_element_resolve_methods(axis2_woden_wsdl_element_t *extensible,
-                                axis2_env_t **env,
-                                axis2_woden_wsdl_element_t *extensible_impl,
-                                axis2_hash_t *methods);
-
-#define AXIS2_WODEN_WSDL_ELEMENT_FREE(extensible, env) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->free (extensible, env))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_SET_EXT_ATTR(extensible, env, attr_type, \
-        attr) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->\
-         set_ext_attr(extensible, env, attr_type, attr))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_GET_EXT_ATTR(extensible, env, \
-        attr_type) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->\
-         get_ext_attr(extensible, env, attr_type))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_GET_EXT_ATTRS(extensible, env) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->\
-         get_ext_attrs(extensible, env))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_GET_EXT_ATTRS_FOR_NAMESPACE(extensible, \
-        env, namespc) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->\
-         get_ext_attrs_for_namespace(extensible, env, namespc))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_HAS_EXT_ATTRS_FOR_NAMESPACE(\
-        extensible, env, namespc) \
-		(((axis2_woden_wsdl_element_t *) extensible)->ops->\
-         has_ext_attrs_for_namespace(extensible, env, namespc))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_ADD_EXT_ELEMENT(extensible, env, ext_el) \
-		(((axis2_woden_element_extensible_t *) extensible)->ops->\
-         add_ext_element(extensible, env, ext_el))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_REMOVE_EXT_ELEMENT(extensible, env, \
-        ext_el) \
-		(((axis2_woden_element_extensible_t *) extensible)->ops->\
-         remove_ext_element(extensible, env, ext_el))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_GET_EXT_ELEMENTS(extensible, env) \
-		(((axis2_woden_element_extensible_t *) extensible)->ops->\
-         get_ext_elements(element_extensible, env))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_GET_EXT_ELEMENTS_OF_TYPE(extensible, \
-        env, ext_type) \
-		(((axis2_woden_element_extensible_t *) extensible)->ops->\
-         get_ext_elements_of_type(extensible, env, ext_type))
-
-#define AXIS2_WODEN_WSDL_ELEMENT_HAS_EXT_ELEMENTS_FOR_NAMESPACE(\
-        extensible, env, namespc) \
-		(((axis2_woden_element_extensible_t *) extensible)->ops->\
-         has_ext_elements_for_namespce(extensible, env, namespc))
+axis2_woden_wsdl_element_resolve_methods(
+        axis2_woden_wsdl_element_t *wsdl_element,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_WSDL_ELEMENT_FREE(wsdl_element, env) \
+		(((axis2_woden_wsdl_element_t *) wsdl_element)->ops->\
+         free (wsdl_element, env))
+
+#define AXIS2_WODEN_WSDL_ELEMENT_TO_WSDL_ELEMENT_FREE(wsdl_element, env) \
+		(((axis2_woden_wsdl_element_t *) wsdl_element)->ops->\
+         to_wsdl_element_free (wsdl_element, env))
+
+#define AXIS2_WODEN_WSDL_ELEMENT_TYPE(wsdl_element, env) \
+		(((axis2_woden_wsdl_element_t *) wsdl_element)->ops->\
+         type (wsdl_element, env))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_bool_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_bool_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_bool_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_bool_attr.h Mon May  8 00:21:09 2006
@@ -26,7 +26,8 @@
  *          but the isValid() method will return "false".
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
 
 /** @defgroup axis2_woden_bool_attr Boolean Attribute
   * @ingroup axis2_wsdl
@@ -50,39 +51,54 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *bool_attr,
+    free) (
+            void *bool_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_bool_attr_free) (
+            void *bool_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *bool_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *bool_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *bool_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
-     *  QNameAttr interface declared methods 
+     *  BooleanAttr interface declared methods 
      * ************************************************************/
 
     axis2_bool_t (AXIS2_CALL *
-    get_boolean) (void *bool_attr,
-                    axis2_env_t **env);
+    get_boolean) (
+            void *bool_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
      * ************************************************************/
 
-    /*
-     * Convert a string of type xs:QName to a axis2_bool_t.
-     * A a null argument will return a null value.
-     * Any conversion error will be reported and a null value will be returned.
+    /**
+     * Convert a string of type xs:boolean to a axis2_bool_t.
+     * An empty string or a null argument will initialize the Boolean to false.
+     * Any conversion error will be reported and will initialize the Boolean to false.
+     * If the attrValue does not match the Boolean value the Attr is marked invalid.
      */
     void *(AXIS2_CALL *
-    convert) (void *bool_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *bool_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
   
 };
@@ -98,39 +114,44 @@
  * parsing of native WSDL attributes is changed to use the axis2_xml_attr interface.
  */
 AXIS2_DECLARE(axis2_woden_bool_attr_t *)
-axis2_woden_bool_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_bool_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * Convert a string of type xs:boolean to a java.lang.Boolean.
- * An empty string or a null argument will initialize the Boolean to false.
- * Any conversion error will be reported and will initialize the Boolean to false.
- * If the attrValue does not match the Boolean value the Attr is marked invalid.
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_bool_attr_resolve_methods(axis2_woden_bool_attr_t *bool_attr,
-                                axis2_env_t **env,
-                                axis2_woden_bool_attr_t *bool_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_bool_attr_resolve_methods(
+        axis2_woden_bool_attr_t *bool_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_BOOL_ATTR_FREE(bool_attr, env) \
 		(((axis2_woden_bool_attr_t *) bool_attr)->ops->free(bool_attr, env))
 
+#define AXIS2_WODEN_BOOL_ATTR_TO_BOOL_ATTR_FREE(bool_attr, env) \
+		(((axis2_woden_bool_attr_t *) bool_attr)->ops->\
+         to_bool_attr_free(bool_attr, env))
+
+#define AXIS2_WODEN_BOOL_ATTR_TYPE(bool_attr, env) \
+		(((axis2_woden_bool_attr_t *) bool_attr)->ops->\
+         type(bool_attr, env))
+
 #define AXIS2_WODEN_BOOL_ATTR_GET_BASE_IMPL(bool_attr, env) \
-		(((axis2_woden_bool_attr_t *) bool_attr)->ops->get_base_impl(bool_attr, \
-                                                                        env))
+		(((axis2_woden_bool_attr_t *) bool_attr)->ops->\
+         get_base_impl(bool_attr, env))
 
 #define AXIS2_WODEN_BOOL_ATTR_GET_BOOL(bool_attr, env) \
-		(((axis2_woden_bool_attr_t *) bool_attr)->ops->get_boolean(bool_attr, \
-                                                                    env))
+		(((axis2_woden_bool_attr_t *) bool_attr)->ops->\
+         get_boolean(bool_attr, env))
 
 #define AXIS2_WODEN_BOOL_ATTR_CONVERT(bool_attr, env) \
-		(((axis2_woden_bool_attr_t *) bool_attr)->ops->convert(bool_attr, \
-                                                                       env))
+		(((axis2_woden_bool_attr_t *) bool_attr)->ops->\
+         convert(bool_attr, env))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_attr.h Mon May  8 00:21:09 2006
@@ -23,7 +23,8 @@
  *          This class represents XML attribute information items of type xs:QName.
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
 
 /** @defgroup axis2_woden_qname_attr Qname Attribute
   * @ingroup axis2_wsdl
@@ -47,23 +48,36 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *qname_attr,
+    free) (
+            void *qname_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_attr_free) (
+            void *qname_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *qname_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *qname_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *qname_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     axis2_qname_t *(AXIS2_CALL *
-    get_qname) (void *qname_attr,
-                    axis2_env_t **env);
+    get_qname) (
+            void *qname_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -75,11 +89,12 @@
      * Any conversion error will be reported and a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *qname_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *qname_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
   
 };
@@ -95,25 +110,31 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_qname_attr_t *)
-axis2_woden_qname_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_qname_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_qname_attr_resolve_methods(axis2_woden_qname_attr_t *qname_attr,
-                                axis2_env_t **env,
-                                axis2_woden_qname_attr_t *qname_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_qname_attr_resolve_methods(
+        axis2_woden_qname_attr_t *qname_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_QNAME_ATTR_FREE(qname_attr, env) \
 		(((axis2_woden_qname_attr_t *) qname_attr)->ops->free(qname_attr, env))
+
+#define AXIS2_WODEN_QNAME_ATTR_TO_QNAME_ATTR_FREE(qname_attr, env) \
+		(((axis2_woden_qname_attr_t *) qname_attr)->ops->\
+         to_qname_attr_free(qname_attr, env))
+
+#define AXIS2_WODEN_QNAME_ATTR_TYPE(qname_attr, env) \
+		(((axis2_woden_qname_attr_t *) qname_attr)->ops->type(qname_attr, env))
 
 #define AXIS2_WODEN_QNAME_ATTR_GET_BASE_IMPL(qname_attr, env) \
 		(((axis2_woden_qname_attr_t *) qname_attr)->ops->get_base_impl(qname_attr, \

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_attr.h Mon May  8 00:21:09 2006
@@ -24,7 +24,8 @@
  *          xs:list of QNames.
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
 #include <axis2_array_list.h>
 
 /** @defgroup axis2_woden_qname_list_attr QName List Attribute
@@ -49,23 +50,36 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *qname_list_attr,
+    free) (
+            void *qname_list_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_list_attr_free) (
+            void *qname_list_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *qname_list_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *qname_list_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *qname_list_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     axis2_array_list_t *(AXIS2_CALL *
-    get_qnames) (void *qname_list_attr,
-                    axis2_env_t **env);
+    get_qnames) (
+            void *qname_list_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -80,11 +94,12 @@
      * be converted, a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *qname_list_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *qname_list_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
   
 };
@@ -100,37 +115,44 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_qname_list_attr_t *)
-axis2_woden_qname_list_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_qname_list_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_qname_list_attr_resolve_methods(axis2_woden_qname_list_attr_t *qname_list_attr,
-                                axis2_env_t **env,
-                                axis2_woden_qname_list_attr_t *qname_list_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_qname_list_attr_resolve_methods(
+        axis2_woden_qname_list_attr_t *qname_list_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_QNAME_LIST_ATTR_FREE(qname_list_attr, env) \
 		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->free(qname_list_attr, env))
 
+#define AXIS2_WODEN_QNAME_LIST_ATTR_TO_QNAME_LIST_ATTR_FREE(qname_list_attr, env) \
+		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->\
+         to_qname_list_attr_free(qname_list_attr, env))
+
+#define AXIS2_WODEN_QNAME_LIST_ATTR_TYPE(qname_list_attr, env) \
+		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->\
+         type(qname_list_attr, env))
+
 #define AXIS2_WODEN_QNAME_LIST_ATTR_GET_BASE_IMPL(qname_list_attr, env) \
-		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->get_base_impl(qname_list_attr, \
-                                                                        env))
+		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->\
+         get_base_impl(qname_list_attr, env))
 
 #define AXIS2_WODEN_QNAME_LIST_ATTR_GET_QNAMES(qname_list_attr, env) \
-		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->get_qnames(qname_list_attr, \
-                                                                    env))
+		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->\
+         get_qnames(qname_list_attr, env))
 
 #define AXIS2_WODEN_QNAME_LIST_ATTR_CONVERT(qname_list_attr, env) \
-		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->convert(qname_list_attr, \
-                                                                       env))
+		(((axis2_woden_qname_list_attr_t *) qname_list_attr)->ops->\
+         convert(qname_list_attr, env))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_or_token_any_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_or_token_any_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_or_token_any_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_list_or_token_any_attr.h Mon May  8 00:21:09 2006
@@ -25,7 +25,8 @@
  *          (e.g. the wsoap:subcodes extension attribute of binding fault).
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
 #include <axis2_array_list.h>
 
 /** @defgroup axis2_woden_qname_list_or_token_any_attr QName List or Token Any Attribute
@@ -33,8 +34,10 @@
   * @{
   */
 
-typedef struct axis2_woden_qname_list_or_token_any_attr axis2_woden_qname_list_or_token_any_attr_t;
-typedef struct axis2_woden_qname_list_or_token_any_attr_ops axis2_woden_qname_list_or_token_any_attr_ops_t;
+typedef struct axis2_woden_qname_list_or_token_any_attr 
+        axis2_woden_qname_list_or_token_any_attr_t;
+typedef struct axis2_woden_qname_list_or_token_any_attr_ops 
+        axis2_woden_qname_list_or_token_any_attr_ops_t;
 struct axis2_om_element;
 struct axis2_om_node;
 
@@ -50,36 +53,52 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *list_token_attr,
+    free) (
+            void *list_token_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_list_or_token_any_attr_free) (
+            void *list_token_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *list_token_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *list_token_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     axis2_bool_t (AXIS2_CALL *
-    is_qname_list) (void *list_token_attr,
-                    axis2_env_t **env); 
+    is_qname_list) (
+            void *list_token_attr,
+            axis2_env_t **env); 
 
     axis2_bool_t (AXIS2_CALL *
-    is_token) (void *list_token_attr,
-               axis2_env_t **env);
+    is_token) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
 
     axis2_array_list_t *(AXIS2_CALL *
-    get_qnames) (void *list_token_attr,
-                    axis2_env_t **env);
+    get_qnames) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     axis2_char_t *(AXIS2_CALL *
-    get_token) (void *list_token_attr,
-               axis2_env_t **env);
+    get_token) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -92,11 +111,12 @@
      * Any conversion error will be reported and a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *list_token_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *list_token_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
 };
 
@@ -111,26 +131,34 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_qname_list_or_token_any_attr_t *)
-axis2_woden_qname_list_or_token_any_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_qname_list_or_token_any_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_qname_list_or_token_any_attr_resolve_methods(axis2_woden_qname_list_or_token_any_attr_t *list_token_attr,
-                                axis2_env_t **env,
-                                axis2_woden_qname_list_or_token_any_attr_t *list_token_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_qname_list_or_token_any_attr_resolve_methods(
+        axis2_woden_qname_list_or_token_any_attr_t *list_token_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_FREE(list_token_attr, env) \
 		(((axis2_woden_qname_list_or_token_any_attr_t *) \
           list_token_attr)->ops->free(list_token_attr, env))
+
+#define AXIS2_WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_TO_QNAME_LIST_OR_TOKEN_ANY_ATTR_FREE(\
+        list_token_attr, env) \
+		(((axis2_woden_qname_list_or_token_any_attr_t *) list_token_attr)->ops->\
+         to_qname_list_or_token_any_attr_free(list_token_attr, env))
+
+#define AXIS2_WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_TYPE(list_token_attr, env) \
+		(((axis2_woden_qname_list_or_token_any_attr_t *) list_token_attr)->ops->\
+         type(list_token_attr, env))
 
 #define AXIS2_WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_GET_BASE_IMPL(list_token_attr, \
         env) \

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_or_token_any_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_or_token_any_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_or_token_any_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_qname_or_token_any_attr.h Mon May  8 00:21:09 2006
@@ -25,7 +25,8 @@
  *          (e.g. the wsoap:code extension attribute of binding fault).
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
 #include <axis2_array_list.h>
 
 /** @defgroup axis2_woden_qname_or_token_any_attr QName or Token Any Attribute
@@ -52,36 +53,52 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *list_token_attr,
+    free) (
+            void *list_token_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_or_token_any_attr_free) (
+            void *list_token_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *list_token_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *list_token_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     axis2_bool_t (AXIS2_CALL *
-    is_qname) (void *list_token_attr,
-                    axis2_env_t **env); 
+    is_qname) (
+            void *list_token_attr,
+            axis2_env_t **env); 
 
     axis2_bool_t (AXIS2_CALL *
-    is_token) (void *list_token_attr,
-               axis2_env_t **env);
+    is_token) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
 
     axis2_array_list_t *(AXIS2_CALL *
-    get_qnames) (void *list_token_attr,
-                    axis2_env_t **env);
+    get_qnames) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     axis2_char_t *(AXIS2_CALL *
-    get_token) (void *list_token_attr,
-               axis2_env_t **env);
+    get_token) (
+            void *list_token_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -94,11 +111,12 @@
      * Any conversion error will be reported and a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *list_token_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *list_token_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
 };
 
@@ -113,26 +131,34 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_qname_or_token_any_attr_t *)
-axis2_woden_qname_or_token_any_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_qname_or_token_any_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_qname_or_token_any_attr_resolve_methods(axis2_woden_qname_or_token_any_attr_t *list_token_attr,
-                                axis2_env_t **env,
-                                axis2_woden_qname_or_token_any_attr_t *list_token_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_qname_or_token_any_attr_resolve_methods(
+        axis2_woden_qname_or_token_any_attr_t *list_token_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_QNAME_OR_TOKEN_ANY_ATTR_FREE(list_token_attr, env) \
 		(((axis2_woden_qname_or_token_any_attr_t *) \
           list_token_attr)->ops->free(list_token_attr, env))
+
+#define AXIS2_WODEN_QNAME_OR_TOKEN_ANY_ATTR_TO_QNAME_OR_TOKEN_ANY_ATTR_FREE(\
+        list_token_attr, env) \
+		(((axis2_woden_qname_or_token_any_attr_t *) list_token_attr)->ops->\
+         to_qname_or_token_any_attr_free(list_token_attr, env))
+
+#define AXIS2_WODEN_QNAME_OR_TOKEN_ANY_ATTR_TYPE(list_token_attr, env) \
+		(((axis2_woden_qname_or_token_any_attr_t *) list_token_attr)->ops->\
+         type(list_token_attr, env))
 
 #define AXIS2_WODEN_QNAME_OR_TOKEN_ANY_ATTR_GET_BASE_IMPL(list_token_attr, \
         env) \

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_string_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_string_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_string_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_string_attr.h Mon May  8 00:21:09 2006
@@ -23,7 +23,8 @@
  *          This class represents XML attribute information items of type xs:string.
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
 
 /** @defgroup axis2_woden_string_attr String Attribute
   * @ingroup axis2_wsdl
@@ -34,7 +35,6 @@
 typedef struct axis2_woden_string_attr_ops axis2_woden_string_attr_ops_t;
 struct axis2_om_element;
 struct axis2_om_node;
-struct axis2_url;
 
 #ifdef __cplusplus
 extern "C"
@@ -48,23 +48,36 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *string_attr,
+    free) (
+            void *string_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_string_attr_free) (
+            void *string_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *string_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *string_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *string_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     axis2_char_t *(AXIS2_CALL *
-    get_string) (void *string_attr,
-                    axis2_env_t **env);
+    get_string) (
+            void *string_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -76,11 +89,12 @@
      * Any conversion error will be reported and a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *string_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *string_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
   
 };
@@ -96,37 +110,45 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_string_attr_t *)
-axis2_woden_string_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_string_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_string_attr_resolve_methods(axis2_woden_string_attr_t *string_attr,
-                                axis2_env_t **env,
-                                axis2_woden_string_attr_t *string_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_string_attr_resolve_methods(
+        axis2_woden_string_attr_t *string_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_STRING_ATTR_FREE(string_attr, env) \
-		(((axis2_woden_string_attr_t *) string_attr)->ops->free(string_attr, env))
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         free(string_attr, env))
+
+#define AXIS2_WODEN_STRING_ATTR_TO_STRING_ATTR_FREE(string_attr, env) \
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         to_string_attr_free(string_attr, env))
+
+#define AXIS2_WODEN_STRING_ATTR_TYPE(string_attr, env) \
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         type(string_attr, env))
 
 #define AXIS2_WODEN_STRING_ATTR_GET_BASE_IMPL(string_attr, env) \
-		(((axis2_woden_string_attr_t *) string_attr)->ops->get_base_impl(string_attr, \
-                                                                        env))
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         get_base_impl(string_attr, env))
 
 #define AXIS2_WODEN_STRING_ATTR_GET_URI(string_attr, env) \
-		(((axis2_woden_string_attr_t *) string_attr)->ops->get_string(string_attr, \
-                                                                    env))
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         get_string(string_attr, env))
 
 #define AXIS2_WODEN_STRING_ATTR_CONVERT(string_attr, env) \
-		(((axis2_woden_string_attr_t *) string_attr)->ops->convert(string_attr, \
-                                                                       env))
+		(((axis2_woden_string_attr_t *) string_attr)->ops->\
+         convert(string_attr, env))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_uri_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_uri_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_uri_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_uri_attr.h Mon May  8 00:21:09 2006
@@ -23,7 +23,8 @@
  *          This class represents XML attribute information items of type xs:anyURI.
  */
 
-#include <woden/axis2_woden_xml_attr.h>
+#include <woden/axis2_woden.h>
+#include <woden/xml/axis2_woden_xml_attr.h>
 
 /** @defgroup axis2_woden_uri_attr URI Attribute
   * @ingroup axis2_wsdl
@@ -34,7 +35,6 @@
 typedef struct axis2_woden_uri_attr_ops axis2_woden_uri_attr_ops_t;
 struct axis2_om_element;
 struct axis2_om_node;
-struct axis2_url;
 
 #ifdef __cplusplus
 extern "C"
@@ -48,23 +48,36 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *uri_attr,
+    free) (
+            void *uri_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_uri_attr_free) (
+            void *uri_attr,
+            axis2_env_t **env);
+    
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *uri_attr,
             axis2_env_t **env);
 
     /**
      * @return the base implementation class
      */
     axis2_woden_xml_attr_t *(AXIS2_CALL *
-    get_base_impl) (void *uri_attr,
-                    axis2_env_t **env);
+    get_base_impl) (
+            void *uri_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  QNameAttr interface declared methods 
      * ************************************************************/
 
     struct axis2_url *(AXIS2_CALL *
-    get_uri) (void *uri_attr,
-                    axis2_env_t **env);
+    get_uri) (
+            void *uri_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
@@ -77,11 +90,12 @@
      * Any conversion error will be reported and a null value will be returned.
      */
     void *(AXIS2_CALL *
-    convert) (void *uri_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *owner_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *uri_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_char_t *attr_value);
 
   
 };
@@ -97,25 +111,31 @@
  * parsing of native WSDL attributes is changed to use the XMLAttr interface.
  */
 AXIS2_DECLARE(axis2_woden_uri_attr_t *)
-axis2_woden_uri_attr_create(axis2_env_t **env,
-                                struct axis2_om_element *owner_el,
-                                struct axis2_om_node *owner_node,
-                                axis2_qname_t *attr_type,
-                                axis2_char_t *attr_value);
+axis2_woden_uri_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
 
 
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_uri_attr_resolve_methods(axis2_woden_uri_attr_t *uri_attr,
-                                axis2_env_t **env,
-                                axis2_woden_uri_attr_t *uri_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_uri_attr_resolve_methods(
+        axis2_woden_uri_attr_t *uri_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_URI_ATTR_FREE(uri_attr, env) \
 		(((axis2_woden_uri_attr_t *) uri_attr)->ops->free(uri_attr, env))
+
+#define AXIS2_WODEN_URI_ATTR_TO_URI_ATTR_FREE(uri_attr, env) \
+		(((axis2_woden_uri_attr_t *) uri_attr)->ops->\
+         to_uri_attr_free(uri_attr, env))
+
+#define AXIS2_WODEN_URI_ATTR_TYPE(uri_attr, env) \
+		(((axis2_woden_uri_attr_t *) uri_attr)->ops->type(uri_attr, env))
 
 #define AXIS2_WODEN_URI_ATTR_GET_BASE_IMPL(uri_attr, env) \
 		(((axis2_woden_uri_attr_t *) uri_attr)->ops->get_base_impl(uri_attr, \

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_xml_attr.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_xml_attr.h?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_xml_attr.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/xml/axis2_woden_xml_attr.h Mon May  8 00:21:09 2006
@@ -31,6 +31,7 @@
 #include <axis2_const.h>
 #include <axis2_hash.h>
 #include <axis2_qname.h>
+#include <woden/axis2_woden.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -54,43 +55,60 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (void *xml_attr,
+    free) (
+            void *xml_attr,
             axis2_env_t **env);
       
     axis2_status_t (AXIS2_CALL *
-    init) (void *xml_attr,
-                axis2_env_t **env,
-                struct axis2_om_element *owner_el,
-                struct axis2_om_node *owner_node,
-                axis2_qname_t *attr_type, 
-                axis2_char_t *attr_value);
+    to_xml_attr_free) (
+            void *xml_attr,
+            axis2_env_t **env);
+
+    axis2_woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *xml_attr,
+            axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    init) (
+            void *xml_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *owner_node,
+            axis2_qname_t *attr_type, 
+            axis2_char_t *attr_value);
 
     axis2_qname_t *(AXIS2_CALL *
-    get_attribute_type) (void *xml_attr,
-                            axis2_env_t **env);
+    get_attribute_type) (
+            void *xml_attr,
+            axis2_env_t **env);
 
     void *(AXIS2_CALL *
-    get_content) (void *xml_attr,
-                        axis2_env_t **env);
+    get_content) (
+            void *xml_attr,
+            axis2_env_t **env);
 
     axis2_char_t *(AXIS2_CALL *
-    to_external_form) (void *xml_attr,
-                            axis2_env_t **env);
+    to_external_form) (
+            void *xml_attr,
+            axis2_env_t **env);
 
     axis2_bool_t (AXIS2_CALL *
-    is_valid) (void *xml_attr,
-                    axis2_env_t **env);
+    is_valid) (
+            void *xml_attr,
+            axis2_env_t **env);
 
     /* ************************************************************
      *  Non-API implementation methods 
      * ************************************************************/
 
     void *(AXIS2_CALL *
-    convert) (void *xml_attr,
-                    axis2_env_t **env,
-                    struct axis2_om_element *owner_el,
-                    struct axis2_om_node *ownder_node,
-                    axis2_char_t *attr_value);
+    convert) (
+            void *xml_attr,
+            axis2_env_t **env,
+            struct axis2_om_element *owner_el,
+            struct axis2_om_node *ownder_node,
+            axis2_char_t *attr_value);
 
     /*
      * Validity is initialized to true, but set to false if the attribute's
@@ -101,9 +119,10 @@
      * TODO confirm this method is needed, otherwise remove it.
      */
     axis2_status_t (AXIS2_CALL *
-    set_valid) (void *xml_attr,
-                    axis2_env_t **env,
-                    axis2_bool_t validity);
+    set_valid) (
+            void *xml_attr,
+            axis2_env_t **env,
+            axis2_bool_t validity);
       
 };
 
@@ -113,38 +132,46 @@
 };
 
 AXIS2_DECLARE(axis2_woden_xml_attr_t *)
-axis2_woden_xml_attr_create(axis2_env_t **env,
-                            struct axis2_om_element *owner_el,
-                            struct axis2_om_node *owner_node,
-                            axis2_qname_t *attr_type, 
-                            axis2_char_t *attr_value);
-
-/**
- * This is an Axis2 C internal method. This is used only from constructor
- * of the child class
- */
+axis2_woden_xml_attr_create(
+        axis2_env_t **env,
+        struct axis2_om_element *owner_el,
+        struct axis2_om_node *owner_node,
+        axis2_qname_t *attr_type, 
+        axis2_char_t *attr_value);
+
+/************************Woden C Internal Methods******************************/
 AXIS2_DECLARE(axis2_status_t)
-axis2_woden_xml_attr_resolve_methods(axis2_woden_xml_attr_t *xml_attr,
-                                axis2_env_t **env,
-                                axis2_woden_xml_attr_t *xml_attr_impl,
-                                axis2_hash_t *methods);
+axis2_woden_xml_attr_resolve_methods(
+        axis2_woden_xml_attr_t *xml_attr,
+        axis2_env_t **env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
 
 #define AXIS2_WODEN_XML_ATTR_FREE(xml_attr, env) \
 		(((axis2_woden_xml_attr_t *) xml_attr)->ops->free (xml_attr, env))
 
+#define AXIS2_WODEN_XML_ATTR_TO_XML_ATTR_FREE(xml_attr, env) \
+		(((axis2_woden_xml_attr_t *) xml_attr)->ops->to_xml_attr_free (\
+        xml_attr, env))
+
+#define AXIS2_WODEN_XML_ATTR_TYPE(xml_attr, env) \
+		(((axis2_woden_xml_attr_t *) xml_attr)->ops->type (xml_attr, env))
+
 #define AXIS2_WODEN_XML_ATTR_INIT(xml_attr, env, owner_el, owner_node, \
         attr_type, attr_value) \
 		(((axis2_woden_xml_attr_t *) xml_attr)->ops->init(xml_attr, env, \
             owner_el, owner_node, attr_type, attr_value))
 
 #define AXIS2_WODEN_XML_ATTR_GET_ATTRIBUTE_TYPE(xml_attr, env) \
-		(((axis2_woden_xml_attr_t *) xml_attr)->ops->get_attribute_type(xml_attr, env))
+		(((axis2_woden_xml_attr_t *) xml_attr)->ops->\
+         get_attribute_type(xml_attr, env))
 
 #define AXIS2_WODEN_XML_ATTR_GET_CONTENT(xml_attr, env) \
 		(((axis2_woden_xml_attr_t *) xml_attr)->ops->get_content(xml_attr, env))
 
 #define AXIS2_WODEN_XML_ATTR_TO_EXTERNAL_FORM(xml_attr, env) \
-		(((axis2_woden_xml_attr_t *) xml_attr)->ops->to_external_form(xml_attr, env))
+		(((axis2_woden_xml_attr_t *) xml_attr)->ops->\
+         to_external_form(xml_attr, env))
 
 #define AXIS2_WODEN_XML_ATTR_IS_VALID(xml_attr, env) \
 		(((axis2_woden_xml_attr_t *) xml_attr)->ops->is_valid(xml_attr, env))

Modified: webservices/axis2/trunk/c/modules/wsdl/woden/src/schema/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/src/schema/Makefile.am?rev=404947&r1=404946&r2=404947&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/src/schema/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/src/schema/Makefile.am Mon May  8 00:21:09 2006
@@ -1,10 +1,9 @@
-TESTS =
-lib_LTLIBRARIES = libaxis2_woden_schema.la
+noinst_LTLIBRARIES = libaxis2_woden_schema.la
 
 libaxis2_woden_schema_la_SOURCES = \
 							schema.c \
 							imported_schema.c \
 							inlined_schema.c
 
-INCLUDES = -I$(top_builddir)/include/woden \
+INCLUDES = -I$(top_builddir)/include \
             -I$(AXIS2C_HOME)/include