You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2005/09/06 16:56:13 UTC

svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/

Author: jkaputin
Date: Tue Sep  6 07:55:53 2005
New Revision: 279015

URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
Log:
Added DOM parsing of schema and schema import using XML
Schema API (XSModel) to access element and types.

Modified:
    incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
    incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
    incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
    incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
    incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
    incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java

Modified: incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Tue Sep  6 07:55:53 2005
@@ -27,6 +27,18 @@
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
+//JK temporary imports (pending TODOs)
+
+import com.ibm.wsdl.util.xml.DOM2Writer;
+
+import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
+import org.apache.xerces.xs.XSImplementation;
+import org.apache.xerces.xs.XSLoader;
+import org.apache.xerces.xs.XSModel;
+
+import org.w3c.dom.ls.DOMImplementationLS;
+import org.w3c.dom.ls.LSInput;
+
 import temp.WSDLException;
 
 /**
@@ -164,7 +176,7 @@
                                                     DescriptionElement desc) 
     {
         DocumentationElement documentation = desc.createDocumentationElement();
-        documentation.setContentModel(docEl);
+        documentation.setContent(docEl);
         return documentation;
     }
 
@@ -189,18 +201,81 @@
      * TODO Initial schema parsing is specific to XML Schema. 
      * Need generic support for other type systems.
      * Consider extension architecture with serializer/deserializer.
+     * 
+     * TODO For now, use XML Schema API (Xerces XSModel) to represent
+     * schema and parse elements and types. This will create a Xerces
+     * parser dependency on the Woden DOM implementation (rather than  
+     * just a JAXP/SAX/DOM API dependency). To be considered further.
      */
     private Schema parseSchemaInline(Element schemaEl,
                                      TypesElement desc) 
                                      throws WSDLException
     {
-        Schema schema = new SchemaImpl();
+        SchemaImpl schema = new SchemaImpl();
         
         schema.setTargetNamespace(
             DOMUtils.getAttribute(schemaEl, Constants.ATTR_TARGET_NAMESPACE));
         
-        schema.setContentModel(schemaEl);
+        //TODO the type system will depend on the WSDL doc so consider 
+        //parameterizing it. Fixed with an XML Schema constant for now.
+        
+        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema type system
+        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
         
+        //TODO currently only the XSModel is stored in Schema. 
+        //The DOM element representing the schema is not stored. 
+        //Either might be useful to an application dealing 
+        //with the underlying types (e.g. generator tooling). 
+        //So consider changing Schema so that it stores both. 
+        //Perhaps using a Map with a ContentModel/Content pair.
+        
+        try {
+            //create an LSInput object to hold the schema string
+            System.setProperty(DOMImplementationRegistry.PROPERTY,
+                "org.apache.xerces.dom.DOMImplementationSourceImpl");
+            DOMImplementationRegistry domRegistry = 
+                DOMImplementationRegistry.newInstance();
+
+            DOMImplementationLS domImpl = 
+                (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
+
+            LSInput lsInput = domImpl.createLSInput();
+
+            //store the schema as a string in the LSInput 
+            String schemaString = DOM2Writer.nodeToString(schemaEl);
+            System.out.println(schemaString);
+            lsInput.setStringData(schemaString);
+            
+            //Use DOM level 3 bootstrap to get an XSModel of the schema
+            System.setProperty(DOMImplementationRegistry.PROPERTY,
+                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
+            DOMImplementationRegistry xsRegistry = DOMImplementationRegistry.newInstance();
+
+            XSImplementation xsImpl = 
+                (XSImplementation) xsRegistry.getDOMImplementation("XS-Loader");
+
+            XSLoader xsLoader = xsImpl.createXSLoader(null);
+            
+            XSModel xsModel = xsLoader.load(lsInput);
+            
+            schema.setContent(xsModel);
+            
+            /* 
+             * print out the schema elements
+             * 
+            XSNamedMap xsNamedMap = xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
+            System.out.println("\nInline schema elements (" + xsNamedMap.getLength() +"):");
+            for(int i = 0; i < xsNamedMap.getLength(); i++) 
+            {
+                System.out.println( (xsNamedMap.item(i)).getName() );
+            }
+             */
+            
+        } catch (Exception e) {
+            // TODO consider appropriate exceptions
+            e.printStackTrace();
+        }
+
         return schema;
     }
 
@@ -208,19 +283,67 @@
      * TODO Initial schema parsing is specific to XML Schema. 
      * Need generic support for other type systems.
      * Consider extension architecture with serializer/deserializer.
+     * 
+     * TODO For now, use XML Schema API (Xerces XSModel) to represent
+     * schema and parse elements and types. This will create a Xerces
+     * parser dependency on the Woden DOM implementation (rather than  
+     * just a JAXP/SAX/DOM API dependency). To be considered further.
      */
-    private SchemaImport parseSchemaImport(Element schemaEl,
+    private SchemaImport parseSchemaImport(Element importEl,
                                            TypesElement types) 
                                            throws WSDLException
     {
-        SchemaImport schemaImport = new SchemaImportImpl();
+        //TODO use extension architecture aka WSDL4J
+        SchemaImportImpl schemaImport = new SchemaImportImpl();
         
         schemaImport.setNamespace(
-            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
+            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
         
         schemaImport.setSchemaLocation(
-            DOMUtils.getAttribute(schemaEl, SchemaConstants.ATTR_SCHEMA_LOCATION));
+            DOMUtils.getAttribute(importEl, SchemaConstants.ATTR_SCHEMA_LOCATION));
+        
+        //TODO currently only the XSModel is stored in Schema. 
+        //The DOM element representing the schema is not stored. 
+        //Either might be useful to an application dealing 
+        //with the underlying types (e.g. generator tooling). 
+        //So consider changing Schema so that it stores both. 
+        //Perhaps using a Map with a ContentModel/Content pair.
+        
+        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema type system
+        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
         
+        try {
+            //Use DOM level 3 bootstrap to get an XSModel of the schema
+            System.setProperty(DOMImplementationRegistry.PROPERTY,
+                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
+            DOMImplementationRegistry xsRegistry = DOMImplementationRegistry.newInstance();
+
+            XSImplementation xsImpl = 
+                (XSImplementation) xsRegistry.getDOMImplementation("XS-Loader");
+
+            XSLoader xsLoader = xsImpl.createXSLoader(null);
+            
+            String sloc = schemaImport.getSchemaLocation();
+            XSModel xsModel = xsLoader.loadURI(sloc);
+            
+            schemaImport.setContent(xsModel);
+            
+            /*
+             * print out the schema elements
+             * 
+            XSNamedMap xsNamedMap = xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
+            System.out.println("\nImported schema elements (" + xsNamedMap.getLength() +"):");
+            for(int i = 0; i < xsNamedMap.getLength(); i++) 
+            {
+                System.out.println( (xsNamedMap.item(i)).getName() );
+            }
+             */
+
+        } catch (Exception e) {
+            // TODO consider appropriate exceptions
+            e.printStackTrace();
+        }
+
         return schemaImport;
     }
 
@@ -235,11 +358,11 @@
     {
         TypesElement types = desc.createTypesElement();
         
-        
-        
+        //TODO for now, set to XML Schema namespace. Later,
+        //add support for non-XML Schema type systems
+        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
 
         Element tempEl = DOMUtils.getFirstChildElement(typesEl);
-        
 
         while (tempEl != null)
         {

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java Tue Sep  6 07:55:53 2005
@@ -104,6 +104,15 @@
     public static final String ATTR_BINDING = "binding";
     public static final String ATTR_LOCATION = "address";
   
+    //Type systems or content models
+    public static final String TYPE_XSD_2001 =
+        "http://www.w3.org/2001/XMLSchema";
+    public static final String TYPE_DOM_API =
+        "org.w3c.dom";
+    public static final String TYPE_XS_API =
+        "org.apache.xerces.xs";
+    
+    
   //TODO determine if/how these needed
   public static final String ATTR_XMLNS = "xmlns";
   public static final String ATTR_NAMESPACE = "namespace";

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java Tue Sep  6 07:55:53 2005
@@ -16,22 +16,22 @@
  */
 public class DocumentationImpl implements DocumentationElement {
 
-    private Object fContentModel;
+    private Object fContent;
     
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
      */
-    public void setContentModel(Object docEl) 
+    public void setContent(Object docEl) 
     {
-        this.fContentModel = docEl;
+        this.fContent = docEl;
     }
 
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
      */
-    public Object getContentModel() 
+    public Object getContent() 
     {
-        return this.fContentModel;
+        return this.fContent;
     }
 
 }

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java Tue Sep  6 07:55:53 2005
@@ -21,13 +21,14 @@
  * @author jkaputin@apache.org
  */
 public class InterfaceImpl implements Interface, InterfaceElement {
+    
+    QName fName;
 
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.Interface#getName()
      */
     public QName getName() {
-        // TODO Auto-generated method stub
-        return null;
+        return fName;
     }
 
     /* (non-Javadoc)

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java Tue Sep  6 07:55:53 2005
@@ -27,6 +27,7 @@
 public class TypesImpl implements TypesElement {
     
     private DocumentationElement fDocumentation;
+    private String fTypeSystem;
     private Map fSchemaImports = new HashMap();
     private Map fSchemas = new HashMap();
     
@@ -40,6 +41,16 @@
     public DocumentationElement getDocumentationElement()
     {
         return fDocumentation;
+    }
+
+    public void setTypeSystem(String typeSystem)
+    {
+        fTypeSystem = typeSystem;
+    }
+    
+    public String getTypeSystem()
+    {
+        return fTypeSystem;
     }
     
     /*

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java Tue Sep  6 07:55:53 2005
@@ -6,14 +6,16 @@
 import org.apache.woden.wsdl20.extensions.Schema;
 
 /**
- * A wrapper for a <xs:schema> element.
+ * A wrapper for a &lt;xs:schema&gt; element.
  * 
  * @author jkaputin@apache.org
  */
 public class SchemaImpl implements Schema {
     
     private String fTargetNamespace;
-    private Object fContentModel;
+    private String fTypeSystem;
+    private String fContentModel;
+    private Object fContent;
 
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
@@ -30,15 +32,35 @@
     {
         return fTargetNamespace;
     }
+  
+    public void setTypeSystem(String typeSystem)
+    {
+        fTypeSystem = typeSystem;
+    }
+    
+    public String getTypeSystem()
+    {
+        return fTypeSystem;
+    }
     
-    public void setContentModel(Object schemaEl)
+    public void setContentModel(String contentModel)
     {
-        fContentModel = schemaEl;
+        fContentModel = contentModel;
     }
     
-    public Object getContentModel()
+    public String getContentModel()
     {
         return fContentModel;
+    }
+    
+    public void setContent(Object schemaContent)
+    {
+        fContent = schemaContent;
+    }
+    
+    public Object getContent()
+    {
+        return fContent;
     }
 
 }

Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java Tue Sep  6 07:55:53 2005
@@ -6,9 +6,7 @@
 import org.apache.woden.wsdl20.extensions.SchemaImport;
 
 /**
- * This interface represents the XML element information item for
- * a &lt;xs:import&gt; element. It declares the behaviour required to 
- * support parsing, creating and manipulating a &lt;xs:import&gt; element.
+ * A wrapper for a &lt;xs:import&gt; element.
  * 
  * @author jkaputin@apache.org
  */
@@ -16,6 +14,9 @@
     
     private String fNamespace = null;
     private String fSchemaLocation = null;
+    private String fTypeSystem;
+    private String fContentModel;
+    private Object fContent;
 
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
@@ -49,5 +50,34 @@
     {
         return this.fSchemaLocation;
     }
+    
+    public void setTypeSystem(String typeSystem)
+    {
+        this.fTypeSystem = typeSystem;
+    }
+    
+    public String getTypeSystem()
+    {
+        return this.fTypeSystem;
+    }
+    
+    public void setContentModel(String contentModel)
+    {
+        this.fContentModel = contentModel;
+    }
+    
+    public String getContentModel()
+    {
+        return this.fContentModel;
+    }
 
+    public void setContent(Object importedSchemaContent)
+    {
+        this.fContent = importedSchemaContent;
+    }
+    
+    public Object getContent()
+    {
+        return this.fContent;
+    }
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java Tue Sep  6 07:55:53 2005
@@ -8,21 +8,42 @@
 /**
  * This interface represents the ElementDeclaration component described
  * in the WSDL 2.0 Component Model specification (within the Description 
- * Component section). This component is used for describing the content 
- * of input, output and fault messages. Although it reflects an XML 
- * Schema global element declaration (&lt;xs:element&gt.), it does not 
- * impose XML Schema as the type system. Instead it returns a string describing
- * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"), 
- * which will indicate how to interpret the content model.
+ * Component section). An ElementDeclaration refers to an element, such as
+ * a global element declaration in the XML Schema type system 
+ * (&lt;xs:element&gt.), that describes the content of WSDL input, output
+ * and fault messages.  However, it does not impose XML Schema as the type system.  
+ * It returns a String representing the content model or type system 
+ * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object 
+ * representing the content of the element declaration. This Object may
+ * be cast to a type appropriate for the content model.
+ * 
+ * TODO consider using woden specific package style names for the type
+ * system and content model constants, so that these can be configured or 
+ * defaulted prior to parsing and then referred to in a standard way via the API
+ * (e.g. 
+ * org.apache.woden.XML_Schema_Type_System, 
+ * org.apache.woden.DOM_Content_Model, 
+ * org.apache.woden.XML_Schema_API_Content_Model).
  *  
+ * 
  * @author jkaputin@apache.org
  */
 public interface ElementDeclaration {
     
     public QName getName();
     
+    /*
+     * e.g. "http://www.w3.org/2001/XMLSchema"
+     */
     public String getTypeSystem();
     
-    public Object getContentModel();
+    /*
+     * Indicates the type of model or API used to represent the content.
+     * For example, "org.w3c.dom" for a DOM Element or 
+     * "org.apache.xerces.xs" for an XML Schema API XSElementDeclaration.
+     */
+    public String getContentModel();
+    
+    public Object getContent();
     
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java Tue Sep  6 07:55:53 2005
@@ -13,6 +13,13 @@
     
     public String getDirection();
     
+    /**
+     * Indicates the type of message content.#any means any single element, 
+     * #none means no message content, #other means non-XML extension type system
+     * or #element means XML Schema global element definition.
+     *   
+     * @return string representing the type of message content
+     */
     public String getMessageContentModel();
     
     public ElementDeclaration getElementDeclaration();

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java Tue Sep  6 07:55:53 2005
@@ -8,12 +8,22 @@
 /**
  * This interface represents the TypeDefinition component described
  * in the WSDL 2.0 Component Model specification (within the Description 
- * Component section). This component is used for describing simple or
- * complex data types. Although it reflects an XML Schema global type
- * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does not 
- * impose XML Schema as the type system. Instead it returns a string describing
- * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"), 
- * which will indicate how to interpret the content model.
+ * Component section). This component refers to simple or complex data types 
+ * defined in a type system such as XML Schema 
+ * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
+ * However, it does not impose XML Schema as the type system.  
+ * It returns a String representing the content model or type system 
+ * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object 
+ * representing the content of the type definition. This Object may
+ * be cast to a type appropriate for the content model.
+ * 
+ * TODO consider using woden specific package style names for the type
+ * system and content model constants, so that these can be configured or 
+ * defaulted prior to parsing and then referred to in a standard way via the API
+ * (e.g. 
+ * org.apache.woden.XML_Schema_Type_System, 
+ * org.apache.woden.DOM_Content_Model, 
+ * org.apache.woden.XML_Schema_API_Content_Model).
  *  
  * @author jkaputin@apache.org
  */
@@ -21,8 +31,18 @@
     
     public QName getName();
     
+    /*
+     * e.g. "http://www.w3.org/2001/XMLSchema"
+     */
     public String getTypeSystem();
     
-    public Object getContentModel();
+    /*
+     * Indicates the type of model or API used to represent the content.
+     * For example, "org.w3c.dom" for a DOM Element or 
+     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
+     */
+    public String getContentModel();
+    
+    public Object getContent();
 
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue Sep  6 07:55:53 2005
@@ -17,8 +17,10 @@
     
     public String getTargetNamespace();
     
-    public void setContentModel(Object schemaEl);
+    public String getTypeSystem();
     
-    public Object getContentModel();
+    public String getContentModel();
+    
+    public Object getContent();
     
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java Tue Sep  6 07:55:53 2005
@@ -20,4 +20,9 @@
     
     public String getSchemaLocation();
 
+    public String getTypeSystem();
+
+    public String getContentModel();
+    
+    public Object getContent();
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java Tue Sep  6 07:55:53 2005
@@ -13,7 +13,7 @@
  */
 public interface DocumentationElement extends WSDL20Element {
     
-    public void setContentModel(Object docEl);
+    public void setContent(Object docEl);
     
-    public Object getContentModel();
+    public Object getContent();
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue Sep  6 07:55:53 2005
@@ -31,19 +31,37 @@
     
     public DocumentationElement getDocumentationElement();
     
+    /**
+     * Indicate the type system used within the &lt;types&gt; 
+     * element. Typically the XML Schema type system will be 
+     * used, represented by the XML Schema namespace 
+     * "http://www.w3.org/2001/XMLSchema".
+     */
+    public void setTypeSystem(String typeSystem);
+    
+    /**
+     * Get the string indicating the type system used within the &lt;types&gt;
+     * element.
+     */
+    public String getTypeSystem();
+    
     /*
      * Schema imports &lt;xs:import&gt; are stored in a Map of SchemaImport[] 
      * keyed by namespace. The schemaLocation attribute will distinguish
      * schemas imported with the same namespace.
      */
 
+    /**
+     * Add a SchemaImport to the schemas imported within the &lt;types&gt; element.
+     */
     public void addSchemaImport(SchemaImport schemaImport);
     
     //TODO what if schemaLoc is null and there is more than one import for this namespace?
     //Delete all or raise an error?
     
     /**
-     * Add a SchemaImport to the schemas imported within the &lt;types&gt; element.
+     * Remove a SchemaImport from the list of schemas imported 
+     * within the &lt;types&gt; element.
      */
     public void removeSchemaImport(String namespace, String schemaLoc);
 



---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
It's just Axis2 and Woden :)

-- dims

On 9/11/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  
> Dims, 
>  
> Thanks for the reply. There were two concerns I had with making changes: 
>  
> 1) there was already a plan to make the change at some point 
> 2) I didn't know how the common code is picked up and didn't want to break an Axis2 build 
>  
> and you've answered both of those questions. Thanks again. 
>  
> Do you know if any other components reuse this code at this point? If so I'd like to notify them of any changes as well. 
>  
> 
>  Lawrence 
>  
>  
>  
>   
>  Davanum Srinivas <da...@gmail.com>  
> 
> 09/09/2005 12:52 PM  
>   
> Please respond to
>  woden-dev 
>    
>   
> To woden-dev@ws.apache.org 
>   
> cc  
> 
>   
> Subject Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/) 
>   
>   
> 
>  
>  
>  
>  
> Lawrence,
>  
>  All WS folks (includes You :) have privileges to modify the code.
>  Please feel free to make any changes including package names . Please
>  cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
>  code in Axis2. We upload snapshots right now into a private maven repo
>  that Axis2 build picks up. I can update that snapshot regularly if
>  needed.
>  
>  thanks,
>  dims
>  
>  On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  >  
>  > Hi Dims, 
>  >  
>  > Is XmlSchema packaged as a separate distro that is picked up by Axis2 or does Axis 2 grab and compile the source? 
>  >  
>  > I see that the package name for XmlSchema contains 'axis'. Is there a plan to change the package name now that XmlSchema is a common WS component? Do any other WS components use XmlSchema at this point or has it simply been made common so other components can use it? 
>  > 
>  >  Lawrence Mandel
>  >  
>  >  Software Developer
>  >  IBM Rational Software
>  >  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  >  lmandel@ca.ibm.com 
>  >  
>  >  
>  >   
>  >  Davanum Srinivas <da...@gmail.com>  
>  > 
>  > 09/08/2005 11:57 AM  
>  >   
>  > Please respond to
>  >  woden-dev 
>  >    
>  >   
>  > To woden-dev@ws.apache.org 
>  >   
>  > cc  
>  > 
>  >   
>  > Subject Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/) 
>  >   
>  >   
>  > 
>  >  
>  >  
>  >  
>  >  
>  > It's used in Axis2 (Please use the SchemaBuilder -
>  >  http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java)
>  >  
>  >  -- dims
>  >  
>  >  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  >  > Dims,
>  >  > I've been looking without success for info or code samples on using
>  >  > XmlSchema. e.g. the programming model for creating an XmlSchema object.
>  >  > Searched the java source in CVS ws-axis and SVN axis for
>  >  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any references. Is
>  >  > it being used yet?
>  >  > 
>  >  > 
>  >  > John Kaputin
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  >              Davanum Srinivas
>  >  >              <davanum@gmail.co
>  >  >              m>                                                         To
>  >  >                                        woden-dev@ws.apache.org
>  >  >              06/09/2005 16:06                                           cc
>  >  > 
>  >  >                                                                    Subject
>  >  >              Please respond to         (Re: svn commit: r279015 - in
>  >  >                  woden-dev             /incubator/woden/java/src/org/apach
>  >  >                                        e/woden: internal/ internal/wsdl20/
>  >  >                                        internal/wsdl20/extensions/ wsdl20/
>  >  >                                        wsdl20/extensions/ wsdl20/xml/)
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > John,
>  >  > 
>  >  > Could we please use XmlSchema?
>  >  > (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
>  >  > 
>  >  > That way we are not stuck to a specifc version of Xerces.
>  >  > 
>  >  > -- dims
>  >  > 
>  >  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  >  > > Author: jkaputin
>  >  > > Date: Tue Sep  6 07:55:53 2005
>  >  > > New Revision: 279015
>  >  > >
>  >  > > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
>  >  > > Log:
>  >  > > Added DOM parsing of schema and schema import using XML
>  >  > >
>  >  > > Schema API (XSModel) to access element and types.
>  >  > >
>  >  > > Modified:
>  >  > >     incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  > 
>  >  > >     incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > 
>  >  > >
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > (original)
>  >  > > +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > Tue Sep  6 07:55:53 2005
>  >  > > @@ -27,6 +27,18 @@
>  >  > >  import org.xml.sax.InputSource;
>  >  > >
>  >  > >  import org.xml.sax.SAXException;
>  >  > >
>  >  > >
>  >  > >
>  >  > > +//JK temporary imports (pending TODOs)
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  >  > >
>  >  > > +import org.apache.xerces.xs.XSImplementation;
>  >  > >
>  >  > > +import org.apache.xerces.xs.XSLoader;
>  >  > >
>  >  > > +import org.apache.xerces.xs.XSModel;
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  >  > >
>  >  > > +import org.w3c.dom.ls.LSInput;
>  >  > >
>  >  > > +
>  >  > >
>  >  > >  import temp.WSDLException;
>  >  > >
>  >  > >
>  >  > >
>  >  > >  /**
>  >  > >
>  >  > > @@ -164,7 +176,7 @@
>  >  > >                                                      DescriptionElement
>  >  > desc)
>  >  > >
>  >  > >      {
>  >  > >
>  >  > >          DocumentationElement documentation =
>  >  > desc.createDocumentationElement();
>  >  > >
>  >  > > -        documentation.setContentModel(docEl);
>  >  > >
>  >  > > +        documentation.setContent(docEl);
>  >  > >
>  >  > >          return documentation;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > > @@ -189,18 +201,81 @@
>  >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  >  > >
>  >  > >       * Need generic support for other type systems.
>  >  > >
>  >  > >       * Consider extension architecture with serializer/deserializer.
>  >  > >
>  >  > > +     *
>  >  > >
>  >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>  >  > >
>  >  > > +     * schema and parse elements and types. This will create a Xerces
>  >  > >
>  >  > > +     * parser dependency on the Woden DOM implementation (rather than
>  >  > >
>  >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>  >  > >
>  >  > >       */
>  >  > >
>  >  > >      private Schema parseSchemaInline(Element schemaEl,
>  >  > >
>  >  > >                                       TypesElement desc)
>  >  > >
>  >  > >                                       throws WSDLException
>  >  > >
>  >  > >      {
>  >  > >
>  >  > > -        Schema schema = new SchemaImpl();
>  >  > >
>  >  > > +        SchemaImpl schema = new SchemaImpl();
>  >  > >
>  >  > >
>  >  > >
>  >  > >          schema.setTargetNamespace(
>  >  > >
>  >  > >              DOMUtils.getAttribute(schemaEl,
>  >  > Constants.ATTR_TARGET_NAMESPACE));
>  >  > >
>  >  > >
>  >  > >
>  >  > > -        schema.setContentModel(schemaEl);
>  >  > >
>  >  > > +        //TODO the type system will depend on the WSDL doc so consider
>  >  > >
>  >  > > +        //parameterizing it. Fixed with an XML Schema constant for now.
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema
>  >  > type system
>  >  > >
>  >  > > +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
>  >  > >
>  >  > >
>  >  > >
>  >  > > +        //TODO currently only the XSModel is stored in Schema.
>  >  > >
>  >  > > +        //The DOM element representing the schema is not stored.
>  >  > >
>  >  > > +        //Either might be useful to an application dealing
>  >  > >
>  >  > > +        //with the underlying types (e.g. generator tooling).
>  >  > >
>  >  > > +        //So consider changing Schema so that it stores both.
>  >  > >
>  >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        try {
>  >  > >
>  >  > > +            //create an LSInput object to hold the schema string
>  >  > >
>  >  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >
>  >  > > +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  >  > >
>  >  > > +            DOMImplementationRegistry domRegistry =
>  >  > >
>  >  > > +                DOMImplementationRegistry.newInstance();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            DOMImplementationLS domImpl =
>  >  > >
>  >  > > +
>  >  > (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            LSInput lsInput = domImpl.createLSInput();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            //store the schema as a string in the LSInput
>  >  > >
>  >  > > +            String schemaString = DOM2Writer.nodeToString(schemaEl);
>  >  > >
>  >  > > +            System.out.println(schemaString);
>  >  > >
>  >  > > +            lsInput.setStringData(schemaString);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>  >  > >
>  >  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >
>  >  > > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  >  > >
>  >  > > +            DOMImplementationRegistry xsRegistry =
>  >  > DOMImplementationRegistry.newInstance();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            XSImplementation xsImpl =
>  >  > >
>  >  > > +                (XSImplementation)
>  >  > xsRegistry.getDOMImplementation("XS-Loader");
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            schema.setContent(xsModel);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            /*
>  >  > >
>  >  > > +             * print out the schema elements
>  >  > >
>  >  > > +             *
>  >  > >
>  >  > > +            XSNamedMap xsNamedMap =
>  >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  >  > >
>  >  > > +            System.out.println("\nInline schema elements (" +
>  >  > xsNamedMap.getLength() +"):");
>  >  > >
>  >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  >  > >
>  >  > > +            {
>  >  > >
>  >  > > +                System.out.println( (xsNamedMap.item(i)).getName() );
>  >  > >
>  >  > > +            }
>  >  > >
>  >  > > +             */
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        } catch (Exception e) {
>  >  > >
>  >  > > +            // TODO consider appropriate exceptions
>  >  > >
>  >  > > +            e.printStackTrace();
>  >  > >
>  >  > > +        }
>  >  > >
>  >  > > +
>  >  > >
>  >  > >          return schema;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > > @@ -208,19 +283,67 @@
>  >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  >  > >
>  >  > >       * Need generic support for other type systems.
>  >  > >
>  >  > >       * Consider extension architecture with serializer/deserializer.
>  >  > >
>  >  > > +     *
>  >  > >
>  >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>  >  > >
>  >  > > +     * schema and parse elements and types. This will create a Xerces
>  >  > >
>  >  > > +     * parser dependency on the Woden DOM implementation (rather than
>  >  > >
>  >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>  >  > >
>  >  > >       */
>  >  > >
>  >  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  >  > >
>  >  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  >  > >
>  >  > >                                             TypesElement types)
>  >  > >
>  >  > >                                             throws WSDLException
>  >  > >
>  >  > >      {
>  >  > >
>  >  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  >  > >
>  >  > > +        //TODO use extension architecture aka WSDL4J
>  >  > >
>  >  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>  >  > >
>  >  > >
>  >  > >
>  >  > >          schemaImport.setNamespace(
>  >  > >
>  >  > > -            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
>  >  > >
>  >  > > +            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
>  >  > >
>  >  > >
>  >  > >
>  >  > >          schemaImport.setSchemaLocation(
>  >  > >
>  >  > > -            DOMUtils.getAttribute(schemaEl,
>  >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  >  > >
>  >  > > +            DOMUtils.getAttribute(importEl,
>  >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        //TODO currently only the XSModel is stored in Schema.
>  >  > >
>  >  > > +        //The DOM element representing the schema is not stored.
>  >  > >
>  >  > > +        //Either might be useful to an application dealing
>  >  > >
>  >  > > +        //with the underlying types (e.g. generator tooling).
>  >  > >
>  >  > > +        //So consider changing Schema so that it stores both.
>  >  > >
>  >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
>  >  > Schema type system
>  >  > >
>  >  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML
>  >  > Schema API
>  >  > >
>  >  > >
>  >  > >
>  >  > > +        try {
>  >  > >
>  >  > > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>  >  > >
>  >  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >
>  >  > > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  >  > >
>  >  > > +            DOMImplementationRegistry xsRegistry =
>  >  > DOMImplementationRegistry.newInstance();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            XSImplementation xsImpl =
>  >  > >
>  >  > > +                (XSImplementation)
>  >  > xsRegistry.getDOMImplementation("XS-Loader");
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            String sloc = schemaImport.getSchemaLocation();
>  >  > >
>  >  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            schemaImport.setContent(xsModel);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +            /*
>  >  > >
>  >  > > +             * print out the schema elements
>  >  > >
>  >  > > +             *
>  >  > >
>  >  > > +            XSNamedMap xsNamedMap =
>  >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  >  > >
>  >  > > +            System.out.println("\nImported schema elements (" +
>  >  > xsNamedMap.getLength() +"):");
>  >  > >
>  >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  >  > >
>  >  > > +            {
>  >  > >
>  >  > > +                System.out.println( (xsNamedMap.item(i)).getName() );
>  >  > >
>  >  > > +            }
>  >  > >
>  >  > > +             */
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +        } catch (Exception e) {
>  >  > >
>  >  > > +            // TODO consider appropriate exceptions
>  >  > >
>  >  > > +            e.printStackTrace();
>  >  > >
>  >  > > +        }
>  >  > >
>  >  > > +
>  >  > >
>  >  > >          return schemaImport;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > > @@ -235,11 +358,11 @@
>  >  > >      {
>  >  > >
>  >  > >          TypesElement types = desc.createTypesElement();
>  >  > >
>  >  > >
>  >  > >
>  >  > > -
>  >  > >
>  >  > > -
>  >  > >
>  >  > > +        //TODO for now, set to XML Schema namespace. Later,
>  >  > >
>  >  > > +        //add support for non-XML Schema type systems
>  >  > >
>  >  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  >  > >
>  >  > >
>  >  > >
>  >  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>  >  > >
>  >  > > -
>  >  > >
>  >  > >
>  >  > >
>  >  > >          while (tempEl != null)
>  >  > >
>  >  > >          {
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > Tue Sep  6 07:55:53 2005
>  >  > > @@ -104,6 +104,15 @@
>  >  > >      public static final String ATTR_BINDING = "binding";
>  >  > >
>  >  > >      public static final String ATTR_LOCATION = "address";
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    //Type systems or content models
>  >  > >
>  >  > > +    public static final String TYPE_XSD_2001 =
>  >  > >
>  >  > > +        "http://www.w3.org/2001/XMLSchema";
>  >  > >
>  >  > > +    public static final String TYPE_DOM_API =
>  >  > >
>  >  > > +        "org.w3c.dom";
>  >  > > 
> >  > > +    public static final String TYPE_XS_API =
>  >  > >
>  >  > > +        "org.apache.xerces.xs";
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +
>  >  > >
>  >  > >    //TODO determine if/how these needed
>  >  > >
>  >  > >    public static final String ATTR_XMLNS = "xmlns";
>  >  > >
>  >  > >    public static final String ATTR_NAMESPACE = "namespace";
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -16,22 +16,22 @@
>  >  > >   */
>  >  > >
>  >  > >  public class DocumentationImpl implements DocumentationElement {
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    private Object fContentModel;
>  >  > >
>  >  > > +    private Object fContent;
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >       * @see
>  >  > org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
>  >  > 
>  >  > >
>  >  > >       */ 
>  > > >
>  >  > > -    public void setContentModel(Object docEl)
>  >  > >
>  >  > > +    public void setContent(Object docEl)
>  >  > >
>  >  > >      {
>  >  > >
>  >  > > -        this.fContentModel = docEl;
>  >  > >
>  >  > > +        this.fContent = docEl;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >       * @see
>  >  > org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  >  > >
>  >  > >       */
>  >  > >
>  >  > > -    public Object getContentModel()
>  >  > >
>  >  > > +    public Object getContent()
>  >  > >
>  >  > >      {
>  >  > >
>  >  > > -        return this.fContentModel;
>  >  > >
>  >  > > +        return this.fContent;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -21,13 +21,14 @@
>  >  > >   * @author jkaputin@apache.org
>  >  > >
>  >  > >   */
>  >  > >
>  >  > >  public class InterfaceImpl implements Interface, InterfaceElement {
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    QName fName;
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >       * @see org.apache.woden.wsdl20.Interface#getName()
>  >  > >
>  >  > >       */
>  >  > >
>  >  > >      public QName getName() {
>  >  > >
>  >  > > -        // TODO Auto-generated method stub
>  >  > >
>  >  > > -        return null;
>  >  > >
>  >  > > +        return fName;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > Tue Sep  6 07:55:53 2005
>  >  > > @@ -27,6 +27,7 @@
>  >  > >  public class TypesImpl implements TypesElement {
>  >  > >
>  >  > >
>  >  > >
>  >  > >      private DocumentationElement fDocumentation;
>  >  > >
>  >  > > +    private String fTypeSystem;
>  >  > >
>  >  > >      private Map fSchemaImports = new HashMap();
>  >  > >
>  >  > >      private Map fSchemas = new HashMap();
>  >  > >
>  >  > >
>  >  > >
>  >  > > @@ -40,6 +41,16 @@
>  >  > >      public DocumentationElement getDocumentationElement()
>  >  > >
>  >  > >      {
>  >  > >
>  >  > >          return fDocumentation;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        fTypeSystem = typeSystem;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public String getTypeSystem()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return fTypeSystem;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /*
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -6,14 +6,16 @@
>  >  > >  import org.apache.woden.wsdl20.extensions.Schema;
>  >  > >
>  >  > >
>  >  > >
>  >  > >  /**
>  >  > >
>  >  > > - * A wrapper for a <xs:schema> element.
>  >  > >
>  >  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  >  > >
>  >  > >   *
>  >  > >
>  >  > >   * @author jkaputin@apache.org
>  >  > >
>  >  > >   */
>  >  > >
>  >  > >  public class SchemaImpl implements Schema {
>  >  > >
>  >  > >
>  >  > >
>  >  > >      private String fTargetNamespace;
>  >  > >
>  >  > > -    private Object fContentModel;
>  >  > >
>  >  > > +    private String fTypeSystem;
>  >  > >
>  >  > > +    private String fContentModel;
>  >  > >
>  >  > > +    private Object fContent;
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >       * @see
>  >  > org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
>  >  > 
>  >  > >
>  >  > > @@ -30,15 +32,35 @@
>  >  > >      {
>  >  > >
>  >  > >          return fTargetNamespace;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        fTypeSystem = typeSystem;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public String getTypeSystem()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return fTypeSystem;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public void setContentModel(Object schemaEl)
>  >  > >
>  >  > > +    public void setContentModel(String contentModel)
>  >  > >
>  >  > >      {
>  >  > >
>  >  > > -        fContentModel = schemaEl;
>  >  > >
>  >  > > +        fContentModel = contentModel;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public Object getContentModel()
>  >  > >
>  >  > > +    public String getContentModel()
>  >  > >
>  >  > >      {
>  >  > >
>  >  > >          return fContentModel;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public void setContent(Object schemaContent)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        fContent = schemaContent;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return fContent;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > >
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -6,9 +6,7 @@
>  >  > >  import org.apache.woden.wsdl20.extensions.SchemaImport;
>  >  > >
>  >  > >
>  >  > >
>  >  > >  /**
>  >  > >
>  >  > > - * This interface represents the XML element information item for
>  >  > >
>  >  > > - * a &lt;xs:import&gt; element. It declares the behaviour required to
>  >  > >
>  >  > > - * support parsing, creating and manipulating a &lt;xs:import&gt;
>  >  > element.
>  >  > >
>  >  > > + * A wrapper for a &lt;xs:import&gt; element.
>  >  > >
>  >  > >   *
>  >  > >
>  >  > >   * @author jkaputin@apache.org
>  >  > >
>  >  > >   */
>  >  > >
>  >  > > @@ -16,6 +14,9 @@
>  >  > >
>  >  > >
>  >  > >      private String fNamespace = null;
>  >  > >
>  >  > >      private String fSchemaLocation = null;
>  >  > >
>  >  > > +    private String fTypeSystem;
>  >  > >
>  >  > > +    private String fContentModel;
>  >  > >
>  >  > > +    private Object fContent;
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /* (non-Javadoc)
>  >  > >
>  >  > >       * @see
>  >  > org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
>  >  > 
>  >  > >
>  >  > > @@ -49,5 +50,34 @@
>  >  > >      {
>  >  > >
>  >  > >          return this.fSchemaLocation;
>  >  > >
>  >  > >      }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        this.fTypeSystem = typeSystem;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public String getTypeSystem()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return this.fTypeSystem;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public void setContentModel(String contentModel)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        this.fContentModel = contentModel;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public String getContentModel()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return this.fContentModel;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    public void setContent(Object importedSchemaContent)
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        this.fContent = importedSchemaContent;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent()
>  >  > >
>  >  > > +    {
>  >  > >
>  >  > > +        return this.fContent;
>  >  > >
>  >  > > +    }
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > Tue Sep  6 07:55:53 2005
>  >  > > @@ -8,21 +8,42 @@
>  >  > >  /**
>  >  > >
>  >  > >   * This interface represents the ElementDeclaration component described
>  >  > >
>  >  > >   * in the WSDL 2.0 Component Model specification (within the Description
>  >  > >
>  >  > > - * Component section). This component is used for describing the content
>  >  > >
>  >  > > - * of input, output and fault messages. Although it reflects an XML
>  >  > >
>  >  > > - * Schema global element declaration (&lt;xs:element&gt.), it does not
>  >  > >
>  >  > > - * impose XML Schema as the type system. Instead it returns a string
>  >  > describing
>  >  > >
>  >  > > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>  >  > >
>  >  > > - * which will indicate how to interpret the content model.
>  >  > >
>  >  > > + * Component section). An ElementDeclaration refers to an element, such
>  >  > as
>  >  > >
>  >  > > + * a global element declaration in the XML Schema type system
>  >  > >
>  >  > > + * (&lt;xs:element&gt.), that describes the content of WSDL input,
>  >  > output
>  >  > >
>  >  > > + * and fault messages.  However, it does not impose XML Schema as the
>  >  > type system.
>  >  > >
>  >  > > + * It returns a String representing the content model or type system
>  >  > >
>  >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>  >  > >
>  >  > > + * representing the content of the element declaration. This Object may
>  >  > >
>  >  > > + * be cast to a type appropriate for the content model.
>  >  > >
>  >  > > + *
>  >  > >
>  >  > > + * TODO consider using woden specific package style names for the type
>  >  > >
>  >  > > + * system and content model constants, so that these can be configured
>  >  > or
>  >  > >
>  >  > > + * defaulted prior to parsing and then referred to in a standard way via
>  >  > the API
>  >  > >
>  >  > > + * (e.g.
>  >  > >
>  >  > > + * org.apache.woden.XML_Schema_Type_System,
>  >  > >
>  >  > > + * org.apache.woden.DOM_Content_Model,
>  >  > >
>  >  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  >  > >
>  >  > >   *
>  >  > >
>  >  > > + *
>  >  > >
>  >  > >   * @author jkaputin@apache.org
>  >  > >
>  >  > >   */
>  >  > >
>  >  > >  public interface ElementDeclaration {
>  >  > >
>  >  > >
>  >  > >
>  >  > >      public QName getName();
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    /*
>  >  > >
>  >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > >      public String getTypeSystem();
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public Object getContentModel();
>  >  > >
>  >  > > +    /*
>  >  > >
>  >  > > +     * Indicates the type of model or API used to represent the content.
>  >  > >
>  >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  >  > >
>  >  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  >  > XSElementDeclaration.
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > > +    public String getContentModel();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent();
>  >  > >
>  >  > >
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -13,6 +13,13 @@
>  >  > >
>  >  > > 
> >  > >      public String getDirection();
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    /**
>  >  > >
>  >  > > +     * Indicates the type of message content.#any means any single
>  >  > element,
>  >  > >
>  >  > > +     * #none means no message content, #other means non-XML extension
>  >  > type system
>  >  > >
>  >  > > +     * or #element means XML Schema global element definition.
>  >  > >
>  >  > > +     *
>  >  > >
>  >  > > +     * @return string representing the type of message content
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > >      public String getMessageContentModel();
>  >  > >
>  >  > >
>  >  > >
>  >  > >      public ElementDeclaration getElementDeclaration();
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > --- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > (original)
>  >  > > +++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > Tue Sep  6 07:55:53 2005
>  >  > > @@ -8,12 +8,22 @@
>  >  > >  /**
>  >  > >
>  >  > >   * This interface represents the TypeDefinition component described
>  >  > >
>  >  > >   * in the WSDL 2.0 Component Model specification (within the Description
>  >  > >
>  >  > > - * Component section). This component is used for describing simple or
>  >  > >
>  >  > > - * complex data types. Although it reflects an XML Schema global type
>  >  > > 
>  > > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does
>  >  > not
>  >  > >
>  >  > > - * impose XML Schema as the type system. Instead it returns a string
>  >  > describing
>  >  > >
>  >  > > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>  >  > >
>  >  > > - * which will indicate how to interpret the content model.
>  >  > >
>  >  > > + * Component section). This component refers to simple or complex data
>  >  > types
>  >  > >
>  >  > > + * defined in a type system such as XML Schema
>  >  > >
>  >  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  >  > >
>  >  > > + * However, it does not impose XML Schema as the type system.
>  >  > >
>  >  > > + * It returns a String representing the content model or type system
>  >  > >
>  >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>  >  > >
>  >  > > + * representing the content of the type definition. This Object may
>  >  > >
>  >  > > + * be cast to a type appropriate for the content model.
>  >  > >
>  >  > > + *
>  >  > >
>  >  > > + * TODO consider using woden specific package style names for the type
>  >  > >
>  >  > > + * system and content model constants, so that these can be configured
>  >  > or
>  >  > >
>  >  > > + * defaulted prior to parsing and then referred to in a standard way via
>  >  > the API
>  >  > >
>  >  > > + * (e.g.
>  >  > >
>  >  > > + * org.apache.woden.XML_Schema_Type_System,
>  >  > >
>  >  > > + * org.apache.woden.DOM_Content_Model,
>  >  > >
>  >  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  >  > >
>  >  > >   *
>  >  > >
>  >  > >   * @author jkaputin@apache.org
>  >  > >
>  >  > >   */
>  >  > >
>  >  > > @@ -21,8 +31,18 @@
>  >  > >
>  >  > >
>  >  > >      public QName getName();
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    /*
>  >  > >
>  >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > >      public String getTypeSystem();
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public Object getContentModel();
>  >  > >
>  >  > > +    /*
>  >  > >
>  >  > > +     * Indicates the type of model or API used to represent the content.
>  >  > >
>  >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  >  > >
>  >  > > +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > > +    public String getContentModel();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent();
>  >  > >
>  >  > >
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue
>  >  > Sep  6 07:55:53 2005
>  >  > > @@ -17,8 +17,10 @@
>  >  > >
>  >  > >
>  >  > >      public String getTargetNamespace();
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public void setContentModel(Object schemaEl);
>  >  > >
>  >  > > +    public String getTypeSystem();
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public Object getContentModel();
>  >  > >
>  >  > > +    public String getContentModel();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent();
>  >  > >
>  >  > >
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -20,4 +20,9 @@
>  >  > >
>  >  > >
>  >  > >      public String getSchemaLocation();
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    public String getTypeSystem();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public String getContentModel();
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    public Object getContent();
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > 
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  >  (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  >  Tue Sep  6 07:55:53 2005
>  >  > > @@ -13,7 +13,7 @@
>  >  > >   */
>  >  > >
>  >  > >  public interface DocumentationElement extends WSDL20Element {
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public void setContentModel(Object docEl);
>  >  > >
>  >  > > +    public void setContent(Object docEl);
>  >  > >
>  >  > >
>  >  > >
>  >  > > -    public Object getContentModel();
>  >  > >
>  >  > > +    public Object getContent();
>  >  > >
>  >  > >  }
>  >  > >
>  >  > >
>  >  > > Modified:
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  >  > > URL:
>  >  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > 
>  >  > >
>  >  > ==============================================================================
>  >  > 
>  >  > > ---
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  >  > (original)
>  >  > > +++
>  >  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue
>  >  > Sep  6 07:55:53 2005
>  >  > > @@ -31,19 +31,37 @@
>  >  > >
>  >  > >
>  >  > >      public DocumentationElement getDocumentationElement();
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    /**
>  >  > >
>  >  > > +     * Indicate the type system used within the &lt;types&gt;
>  >  > >
>  >  > > +     * element. Typically the XML Schema type system will be
>  >  > >
>  >  > > +     * used, represented by the XML Schema namespace
>  >  > >
>  >  > > +     * "http://www.w3.org/2001/XMLSchema".
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > > +    public void setTypeSystem(String typeSystem);
>  >  > >
>  >  > > +
>  >  > >
>  >  > > +    /**
>  >  > >
>  >  > > +     * Get the string indicating the type system used within the
>  >  > &lt;types&gt;
>  >  > >
>  >  > > +     * element.
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > > +    public String getTypeSystem();
>  >  > >
>  >  > > +
>  >  > >
>  >  > >      /*
>  >  > >
>  >  > >       * Schema imports &lt;xs:import&gt; are stored in a Map of
>  >  > SchemaImport[]
>  >  > >
>  >  > >       * keyed by namespace. The schemaLocation attribute will distinguish
>  >  > >
>  >  > >       * schemas imported with the same namespace.
>  >  > >
>  >  > >       */
>  >  > >
>  >  > >
>  >  > >
>  >  > > +    /**
>  >  > >
>  >  > > +     * Add a SchemaImport to the schemas imported within the
>  >  > &lt;types&gt; element.
>  >  > >
>  >  > > +     */
>  >  > >
>  >  > >      public void addSchemaImport(SchemaImport schemaImport);
>  >  > >
>  >  > >
>  >  > >
>  >  > >      //TODO what if schemaLoc is null and there is more than one import
>  >  > for this namespace?
>  >  > >
>  >  > >      //Delete all or raise an error?
>  >  > >
>  >  > >
>  >  > >
>  >  > >      /**
>  >  > >
>  >  > > -     * Add a SchemaImport to the schemas imported within the
>  >  > &lt;types&gt; element.
>  >  > >
>  >  > > +     * Remove a SchemaImport from the list of schemas imported
>  >  > >
>  >  > > +     * within the &lt;types&gt; element.
>  >  > >
>  >  > >       */
>  >  > >
>  >  > >      public void removeSchemaImport(String namespace, String schemaLoc);
>  >  > >
>  >  > >
>  >  > >
>  >  > >
>  >  > >
>  >  > >
>  >  > > ---------------------------------------------------------------------
>  >  > > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  >  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  >  > >
>  >  > >
>  >  > 
>  >  > 
>  >  > --
>  >  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
>  >  > 
>  >  > ---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  >  > 
>  >  > 
>  >  > 
>  >  > 
>  >  > ---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  >  > 
>  >  > 
>  >  
>  >  
>  >  -- 
>  >  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
>  >  
>  >  ---------------------------------------------------------------------
>  >  To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  >  For additional commands, e-mail: woden-dev-help@ws.apache.org
>  >  
>  >   
>  >  
>  
>  
>  
>  -- 
>  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
>  
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  For additional commands, e-mail: woden-dev-help@ws.apache.org
>  
>   
>  



-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
By default, i think we will be shipping a separate jar. 

-- dims

On 9/17/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  
> Thanks Dims. Follow-up question for you. Is Axis planning on shipping XmlSchema-0.9.jar or packaging the XmlSchema code in with the Axis binary?  
> 
>  Lawrence 
>  
>  
>  
>   
>  Davanum Srinivas <da...@gmail.com>  
> 
> 09/16/2005 05:32 PM 
>  
>   
> Please respond to
>  woden-dev 
>    
>   
> To woden-dev@ws.apache.org 
>   
> cc  
> 
>   
> Subject Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/) 
>   
>   
> 
>  
> 
>  
>  
>  
> Repo is here - http://people.apache.org/~dims/maven/ please look under
>  axis/jars (i know bad naming, we have to change that). This is where
>  Axis2 picks up the jar from.
>  
>  thanks,
>  dims
>  
>  On 9/16/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  >  
>  > Dims, 
>  >  
>  > You said you upload the snapshots to a private maven repo. Is that an Axis
>  > private repo that Woden can access? If so, can you tell me where the repo is
>  > located? 
>  >  
>  > Thanks, 
>  > 
>  >  Lawrence 
>  >  
>  >  
>  > Davanum Srinivas <da...@gmail.com> wrote on 09/09/2005 12:52:00 PM:
>  > 
>  >  
>  >  > Lawrence,
>  >  > 
>  >  > All WS folks (includes You :) have privileges to modify the code.
>  >  > Please feel free to make any changes including package names . Please
>  >  > cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
>  >  > code in Axis2. We upload snapshots right now into a private maven repo
>  >  > that Axis2 build picks up. I can update that snapshot regularly if
>  >  > needed.
>  >  > 
>  >  > thanks,
>  >  > dims
>  >  > 
>  >  > On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  >  > >  
>  >  > > Hi Dims, 
>  >  > >  
>  >  > > Is XmlSchema packaged as a separate distro that is picked up by 
>  >  > Axis2 or does Axis 2 grab and compile the source? 
>  >  > >  
>  >  > > I see that the package name for XmlSchema contains 'axis'. Is 
>  >  > there a plan to change the package name now that XmlSchema is a 
>  >  > common WS component? Do any other WS components use XmlSchema at 
>  >  > this point or has it simply been made common so other components can use
>  > it? 
>  >  > > 
>  >  > >  Lawrence Mandel
>  >  > >  
>  >  > >  Software Developer
>  >  > >  IBM Rational Software
>  >  > >  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  >  > >  lmandel@ca.ibm.com 
>  >  > >  
>  >  > >  
>  >  > >   
>  >  > >  Davanum Srinivas <da...@gmail.com>  
>  >  > > 
>  >  > > 09/08/2005 11:57 AM  
>  >  > >   
>  >  > > Please respond to
>  >  > >  woden-dev 
>  >  > >    
>  >  > >   
>  >  > > To woden-dev@ws.apache.org 
>  >  > >   
>  >  > > cc  
>  >  > > 
>  >  > >   
>  >  > > Subject Re: (Re: svn commit: r279015 - in 
>  >  > /incubator/woden/java/src/org/apache/woden: internal/ 
>  >  > internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ 
>  >  > wsdl20/extensions/ wsdl20/xml/) 
>  >  > >   
>  >  > >   
>  >  > > 
>  >  > >  
>  >  > >  
>  >  > >  
>  >  > >  
>  >  > > It's used in Axis2 (Please use the SchemaBuilder -
>  >  > >  http://svn.apache.
>  >  >
>  > org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.
>  >  > java)
>  >  > >  
>  >  > >  -- dims
>  >  > >  
>  >  > >  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  >  > >  > Dims,
>  >  > >  > I've been looking without success for info or code samples on using
>  >  > >  > XmlSchema. e.g. the programming model for creating an XmlSchema
>  > object.
>  >  > >  > Searched the java source in CVS ws-axis and SVN axis for
>  >  > >  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any 
>  >  > references. Is
>  >  > >  > it being used yet?
>  >  > >  > 
>  >  > >  > 
>  >  > >  > John Kaputin
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  >              Davanum Srinivas
>  >  > >  >              <davanum@gmail.co
>  >  > >  >              m>                                                     
>  >  To
>  >  > >  >                                        woden-dev@ws.apache.org
>  >  > >  >              06/09/2005 16:06                                       
>  >  cc
>  >  > >  > 
>  >  > >  >                                                                 
>  > Subject
>  >  > >  >              Please respond to         (Re: svn commit: r279015 - in
>  >  > >  >                  woden-dev             
>  >  > /incubator/woden/java/src/org/apach
>  >  > >  >                                        e/woden: internal/ 
>  >  > internal/wsdl20/
>  >  > >  >                                        
>  >  > internal/wsdl20/extensions/ wsdl20/
>  >  > >  >                                        wsdl20/extensions/
>  > wsdl20/xml/)
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > 
>  >  > >  > John,
>  >  > >  > 
>  >  > >  > Could we please use XmlSchema?
>  >  > >  >
>  > (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
>  >  > >  > 
>  >  > >  > That way we are not stuck to a specifc version of Xerces.
>  >  > >  > 
>  >  > >  > -- dims
>  >  > >  > 
>  >  > >  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  >  > >  > > Author: jkaputin
>  >  > >  > > Date: Tue Sep  6 07:55:53 2005
>  >  > >  > > New Revision: 279015
>  >  > >  > >
>  >  > >  > > URL:
>  > http://svn.apache.org/viewcvs?rev=279015&view=rev
>  >  > >  > > Log:
>  >  > >  > > Added DOM parsing of schema and schema import using XML
>  >  > >  > >
>  >  > >  > > Schema API (XSModel) to access element and types.
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > >     
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > >  > >
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > >  > 
>  >  > >  > >
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > >
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  >  > java
>  >  > >  > 
>  >  > >  > >     
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > >  > >
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > >  > 
>  >  > >  > >
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > --- 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > >  > (original)
>  >  > >  > > +++ 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  >  > >  > Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -27,6 +27,18 @@
>  >  > >  > >  import org.xml.sax.InputSource;
>  >  > >  > >
>  >  > >  > >  import org.xml.sax.SAXException;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +//JK temporary imports (pending TODOs)
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +import
>  > org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  >  > >  > >
>  >  > >  > > +import org.apache.xerces.xs.XSImplementation;
>  >  > >  > >
>  >  > >  > > +import org.apache.xerces.xs.XSLoader;
>  >  > >  > >
>  >  > >  > > +import org.apache.xerces.xs.XSModel;
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  >  > >  > >
>  >  > >  > > +import org.w3c.dom.ls.LSInput;
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > >  import temp.WSDLException;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  /**
>  >  > >  > >
>  >  > >  > > @@ -164,7 +176,7 @@
>  >  > >  > >                                                     
>  > DescriptionElement
>  >  > >  > desc)
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          DocumentationElement documentation =
>  >  > >  > desc.createDocumentationElement();
>  >  > >  > >
>  >  > >  > > -        documentation.setContentModel(docEl);
>  >  > >  > >
>  >  > >  > > +        documentation.setContent(docEl);
>  >  > >  > >
>  >  > >  > >          return documentation;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > @@ -189,18 +201,81 @@
>  >  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  >  > >  > >
>  >  > >  > >       * Need generic support for other type systems.
>  >  > >  > >
>  >  > >  > >       * Consider extension architecture with
>  > serializer/deserializer.
>  >  > >  > >
>  >  > >  > > +     *
>  >  > >  > >
>  >  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
>  > represent
>  >  > >  > >
>  >  > >  > > +     * schema and parse elements and types. This will create a
>  > Xerces
>  >  > >  > >
>  >  > >  > > +     * parser dependency on the Woden DOM implementation (rather
>  > than
>  >  > >  > >
>  >  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
>  > further.
>  >  > >  > >
>  >  > >  > >       */
>  >  > >  > >
>  >  > >  > >      private Schema parseSchemaInline(Element schemaEl,
>  >  > >  > >
>  >  > >  > >                                       TypesElement desc)
>  >  > >  > >
>  >  > >  > >                                       throws WSDLException
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > > -        Schema schema = new SchemaImpl();
>  >  > >  > >
>  >  > >  > > +        SchemaImpl schema = new SchemaImpl();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >          schema.setTargetNamespace(
>  >  > >  > >
>  >  > >  > >              DOMUtils.getAttribute(schemaEl,
>  >  > >  > Constants.ATTR_TARGET_NAMESPACE));
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -        schema.setContentModel(schemaEl);
>  >  > >  > >
>  >  > >  > > +        //TODO the type system will depend on the WSDL doc so
>  > consider
>  >  > >  > >
>  >  > >  > > +        //parameterizing it. Fixed with an XML Schema 
>  >  > constant for now.
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
>  > Schema
>  >  > >  > type system
>  >  > >  > >
>  >  > >  > > +        schema.setContentModel(Constants.TYPE_XS_API);  
>  >  > //XML Schema API
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +        //TODO currently only the XSModel is stored in Schema.
>  >  > >  > >
>  >  > >  > > +        //The DOM element representing the schema is not stored.
>  >  > >  > >
>  >  > >  > > +        //Either might be useful to an application dealing
>  >  > >  > >
>  >  > >  > > +        //with the underlying types (e.g. generator tooling).
>  >  > >  > >
>  >  > >  > > +        //So consider changing Schema so that it stores both.
>  >  > >  > >
>  >  > >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        try {
>  >  > >  > >
>  >  > >  > > +            //create an LSInput object to hold the schema string
>  >  > >  > >
>  >  > >  > > +           
>  > System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >  > >
>  >  > >  > > +               
>  > "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  >  > >  > >
>  >  > >  > > +            DOMImplementationRegistry domRegistry =
>  >  > >  > >
>  >  > >  > > +               
>  > DOMImplementationRegistry.newInstance();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            DOMImplementationLS domImpl =
>  >  > >  > >
>  >  > >  > > +
>  >  > >  >
>  > (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            LSInput lsInput = domImpl.createLSInput();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            //store the schema as a string in the LSInput
>  >  > >  > >
>  >  > >  > > +            String schemaString =
>  > DOM2Writer.nodeToString(schemaEl);
>  >  > >  > >
>  >  > >  > > +            System.out.println(schemaString);
>  >  > >  > >
>  >  > >  > > +            lsInput.setStringData(schemaString);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe
>  > schema
>  > 
>  >  > >  > >
>  >  > >  > > +           
>  > System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >  > >
>  >  > >  > > +                "org.apache.xerces.dom.
>  >  > DOMXSImplementationSourceImpl");
>  >  > >  > >
>  >  > >  > > +            DOMImplementationRegistry xsRegistry =
>  >  > >  > DOMImplementationRegistry.newInstance();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            XSImplementation xsImpl =
>  >  > >  > >
>  >  > >  > > +                (XSImplementation)
>  >  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            schema.setContent(xsModel);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            /*
>  >  > >  > >
>  >  > >  > > +             * print out the schema elements
>  >  > >  > >
>  >  > >  > > +             *
>  >  > >  > >
>  >  > >  > > +            XSNamedMap xsNamedMap =
>  >  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  >  > >  > >
>  >  > >  > > +            System.out.println("\nInline schema elements (" +
>  >  > >  > xsNamedMap.getLength() +"):");
>  >  > >  > >
>  >  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  >  > >  > >
>  >  > >  > > +            {
>  >  > >  > >
>  >  > >  > > +                System.out.println(
>  > (xsNamedMap.item(i)).getName() );
>  >  > >  > >
>  >  > >  > > +            }
>  >  > >  > >
>  >  > >  > > +             */
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        } catch (Exception e) {
>  >  > >  > >
>  >  > >  > > +            // TODO consider appropriate exceptions
>  >  > >  > >
>  >  > >  > > +            e.printStackTrace();
>  >  > >  > >
>  >  > >  > > +        }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > >          return schema;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > @@ -208,19 +283,67 @@
>  >  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  >  > >  > >
>  >  > >  > >       * Need generic support for other type systems.
>  >  > >  > >
>  >  > >  > >       * Consider extension architecture with
>  > serializer/deserializer.
>  >  > >  > >
>  >  > >  > > +     *
>  >  > >  > >
>  >  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
>  > represent
>  >  > >  > >
>  >  > >  > > +     * schema and parse elements and types. This will create a
>  > Xerces
>  >  > >  > >
>  >  > >  > > +     * parser dependency on the Woden DOM implementation (rather
>  > than
>  >  > >  > >
>  >  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
>  > further.
>  >  > >  > >
>  >  > >  > >       */
>  >  > >  > >
>  >  > >  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  >  > >  > >
>  >  > >  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  >  > >  > >
>  >  > >  > >                                             TypesElement types)
>  >  > >  > >
>  >  > >  > >                                             throws WSDLException
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  >  > >  > >
>  >  > >  > > +        //TODO use extension architecture aka WSDL4J
>  >  > >  > >
>  >  > >  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >          schemaImport.setNamespace(
>  >  > >  > >
>  >  > >  > > -            DOMUtils.getAttribute(schemaEl, Constants.
>  >  > ATTR_NAMESPACE));
>  >  > >  > >
>  >  > >  > > +            DOMUtils.getAttribute(importEl, Constants.
>  >  > ATTR_NAMESPACE));
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >          schemaImport.setSchemaLocation(
>  >  > >  > >
>  >  > >  > > -            DOMUtils.getAttribute(schemaEl,
>  >  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  >  > >  > >
>  >  > >  > > +            DOMUtils.getAttribute(importEl,
>  >  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        //TODO currently only the XSModel is stored in Schema.
>  >  > >  > >
>  >  > >  > > +        //The DOM element representing the schema is not stored.
>  >  > >  > >
>  >  > >  > > +        //Either might be useful to an application dealing
>  >  > >  > >
>  >  > >  > > +        //with the underlying types (e.g. generator tooling).
>  >  > >  > >
>  >  > >  > > +        //So consider changing Schema so that it stores both.
>  >  > >  > >
>  >  > >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001); 
>  > //XML
>  >  > >  > Schema type system
>  >  > >  > >
>  >  > >  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API); 
>  > //XML
>  >  > >  > Schema API
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +        try {
>  >  > >  > >
>  >  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe
>  > schema
>  > 
>  >  > >  > >
>  >  > >  > > +           
>  > System.setProperty(DOMImplementationRegistry.PROPERTY,
>  >  > >  > >
>  >  > >  > > +                "org.apache.xerces.dom.
>  >  > DOMXSImplementationSourceImpl");
>  >  > >  > >
>  >  > >  > > +            DOMImplementationRegistry xsRegistry =
>  >  > >  > DOMImplementationRegistry.newInstance();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            XSImplementation xsImpl =
>  >  > >  > >
>  >  > >  > > +                (XSImplementation)
>  >  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  >  > >  > >
>  >  > >  > > + 
> >  > >  > >
>  >  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            String sloc = schemaImport.getSchemaLocation();
>  >  > >  > >
>  >  > >  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            schemaImport.setContent(xsModel);
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +            /*
>  >  > >  > >
>  >  > >  > > +             * print out the schema elements
>  >  > >  > >
>  >  > >  > > +             *
>  >  > >  > >
>  >  > >  > > +            XSNamedMap xsNamedMap =
>  >  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  >  > >  > >
>  >  > >  > > +            System.out.println("\nImported schema elements (" +
>  >  > >  > xsNamedMap.getLength() +"):");
>  >  > >  > >
>  >  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  >  > >  > >
>  >  > >  > > +            {
>  >  > >  > >
>  >  > >  > > +                System.out.println(
>  > (xsNamedMap.item(i)).getName() );
>  >  > >  > >
>  >  > >  > > +            }
>  >  > >  > >
>  >  > >  > > +             */
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +        } catch (Exception e) {
>  >  > >  > >
>  >  > >  > > +            // TODO consider appropriate exceptions
>  >  > >  > >
>  >  > >  > > +            e.printStackTrace();
>  >  > >  > >
>  >  > >  > > +        }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > >          return schemaImport;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > @@ -235,11 +358,11 @@
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          TypesElement types = desc.createTypesElement();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -
>  >  > >  > >
>  >  > >  > > -
>  >  > >  > >
>  >  > >  > > +        //TODO for now, set to XML Schema namespace. Later,
>  >  > >  > >
>  >  > >  > > +        //add support for non-XML Schema type systems
>  >  > >  > >
>  >  > >  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>  >  > >  > >
>  >  > >  > > -
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >          while (tempEl != null)
>  >  > >  > >
>  >  > >  > >          {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > >  > (original)
>  >  > >  > > +++
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  >  > >  > Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -104,6 +104,15 @@
>  >  > >  > >      public static final String ATTR_BINDING = "binding";
>  >  > >  > >
>  >  > >  > >      public static final String ATTR_LOCATION = "address";
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    //Type systems or content models
>  >  > >  > >
>  >  > >  > > +    public static final String TYPE_XSD_2001 =
>  >  > >  > >
>  >  > >  > > +        "http://www.w3.org/2001/XMLSchema";
>  >  > >  > >
>  >  > >  > > +    public static final String TYPE_DOM_API =
>  >  > >  > >
>  >  > >  > > +        "org.w3c.dom";
>  >  > >  > > 
>  > > >  > > +    public static final String TYPE_XS_API =
>  >  > >  > >
>  >  > >  > > +        "org.apache.xerces.xs";
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > >    //TODO determine if/how these needed
>  >  > >  > >
>  >  > >  > >    public static final String ATTR_XMLNS = "xmlns";
>  >  > >  > >
>  >  > >  > >    public static final String ATTR_NAMESPACE = "namespace";
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  >  > java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  >  > java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -16,22 +16,22 @@
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > >  public class DocumentationImpl implements DocumentationElement {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    private Object fContentModel;
>  >  > >  > >
>  >  > >  > > +    private Object fContent;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >       * @see
>  >  > >  > org.apache.woden.wsdl20.xml.
>  >  > DocumentationElement#setContentModel(java.lang.Object)
>  >  > >  > 
>  >  > >  > >
>  >  > >  > >       */ 
>  >  > > > >
>  >  > >  > > -    public void setContentModel(Object docEl)
>  >  > >  > >
>  >  > >  > > +    public void setContent(Object docEl)
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > > -        this.fContentModel = docEl;
>  >  > >  > >
>  >  > >  > > +        this.fContent = docEl;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >       * @see
>  >  > >  >
>  > org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  >  > >  > >
>  >  > >  > >       */
>  >  > >  > >
>  >  > >  > > -    public Object getContentModel()
>  >  > >  > >
>  >  > >  > > +    public Object getContent()
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > > -        return this.fContentModel;
>  >  > >  > >
>  >  > >  > > +        return this.fContent;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -21,13 +21,14 @@
>  >  > >  > >   * @author jkaputin@apache.org
>  >  > >  > >
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > >  public class InterfaceImpl implements Interface, InterfaceElement
>  > {
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    QName fName;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >       * @see
>  > org.apache.woden.wsdl20.Interface#getName()
>  >  > >  > >
>  >  > >  > >       */
>  >  > >  > >
>  >  > >  > >      public QName getName() {
>  >  > >  > >
>  >  > >  > > -        // TODO Auto-generated method stub
>  >  > >  > >
>  >  > >  > > -        return null;
>  >  > >  > >
>  >  > >  > > +        return fName;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > >  > (original)
>  >  > >  > > +++
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  >  > >  > Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -27,6 +27,7 @@
>  >  > >  > >  public class TypesImpl implements TypesElement {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      private DocumentationElement fDocumentation;
>  >  > >  > >
>  >  > >  > > +    private String fTypeSystem;
>  >  > >  > >
>  >  > >  > >      private Map fSchemaImports = new HashMap();
>  >  > >  > >
>  >  > >  > >      private Map fSchemas = new HashMap();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > @@ -40,6 +41,16 @@
>  >  > >  > >      public DocumentationElement getDocumentationElement()
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          return fDocumentation;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        fTypeSystem = typeSystem;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public String getTypeSystem()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return fTypeSystem;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /*
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  >  > java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  >  > java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -6,14 +6,16 @@
>  >  > >  > >  import
>  > org.apache.woden.wsdl20.extensions.Schema;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  /**
>  >  > >  > >
>  >  > >  > > - * A wrapper for a <xs:schema> element.
>  >  > >  > >
>  >  > >  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  >  > >  > >
>  >  > >  > >   *
>  >  > >  > >
>  >  > >  > >   * @author jkaputin@apache.org
>  >  > >  > >
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > >  public class SchemaImpl implements Schema {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      private String fTargetNamespace;
>  >  > >  > >
>  >  > >  > > -    private Object fContentModel;
>  >  > >  > >
>  >  > >  > > +    private String fTypeSystem;
>  >  > >  > >
>  >  > >  > > +    private String fContentModel;
>  >  > >  > >
>  >  > >  > > +    private Object fContent;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >       * @see
>  >  > >  > org.apache.woden.wsdl20.extensions.
>  >  > Schema#setTargetNamespace(java.lang.String)
>  >  > >  > 
>  >  > >  > >
>  >  > >  > > @@ -30,15 +32,35 @@
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          return fTargetNamespace;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        fTypeSystem = typeSystem;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public String getTypeSystem()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return fTypeSystem;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public void setContentModel(Object schemaEl)
>  >  > >  > >
>  >  > >  > > +    public void setContentModel(String contentModel)
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > > -        fContentModel = schemaEl;
>  >  > >  > >
>  >  > >  > > +        fContentModel = contentModel;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public Object getContentModel()
>  >  > >  > >
>  >  > >  > > +    public String getContentModel()
>  >  > >  > >
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          return fContentModel;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public void setContent(Object schemaContent)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        fContent = schemaContent;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return fContent;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  >  > java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  >  > java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  >  > java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -6,9 +6,7 @@
>  >  > >  > >  import
>  > org.apache.woden.wsdl20.extensions.SchemaImport;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  /**
>  >  > >  > >
>  >  > >  > > - * This interface represents the XML element information item for
>  >  > >  > >
>  >  > >  > > - * a &lt;xs:import&gt; element. It declares the behaviour
>  > required to
>  >  > >  > >
>  >  > >  > > - * support parsing, creating and manipulating a &lt;xs:import&gt;
>  >  > >  > element.
>  >  > >  > >
>  >  > >  > > + * A wrapper for a &lt;xs:import&gt; element.
>  >  > >  > >
>  >  > >  > >   *
>  >  > >  > >
>  >  > >  > >   * @author jkaputin@apache.org
>  >  > >  > >
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > > @@ -16,6 +14,9 @@
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      private String fNamespace = null;
>  >  > >  > >
>  >  > >  > >      private String fSchemaLocation = null;
>  >  > >  > >
>  >  > >  > > +    private String fTypeSystem;
>  >  > >  > >
>  >  > >  > > +    private String fContentModel;
>  >  > >  > >
>  >  > >  > > +    private Object fContent;
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      /* (non-Javadoc)
>  >  > >  > >
>  >  > >  > >       * @see
>  >  > >  > org.apache.woden.wsdl20.extensions.
>  >  > SchemaImport#setNamespace(java.lang.String)
>  >  > >  > 
>  >  > >  > >
>  >  > >  > > @@ -49,5 +50,34 @@
>  >  > >  > >      {
>  >  > >  > >
>  >  > >  > >          return this.fSchemaLocation;
>  >  > >  > >
>  >  > >  > >      }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public void setTypeSystem(String typeSystem)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        this.fTypeSystem = typeSystem; 
> 
> >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public String getTypeSystem()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return this.fTypeSystem;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public void setContentModel(String contentModel)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        this.fContentModel = contentModel;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public String getContentModel()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return this.fContentModel;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    public void setContent(Object importedSchemaContent)
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        this.fContent = importedSchemaContent;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent()
>  >  > >  > >
>  >  > >  > > +    {
>  >  > >  > >
>  >  > >  > > +        return this.fContent;
>  >  > >  > >
>  >  > >  > > +    }
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > >  > (original)
>  >  > >  > > +++
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  >  > >  > Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -8,21 +8,42 @@
>  >  > >  > >  /**
>  >  > >  > >
>  >  > >  > >   * This interface represents the ElementDeclaration 
>  >  > component described
>  >  > >  > >
>  >  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  >  > Description
>  >  > >  > >
>  >  > >  > > - * Component section). This component is used for describing
>  >  > the content
>  >  > >  > >
>  >  > >  > > - * of input, output and fault messages. Although it reflects an
>  > XML
>  >  > >  > >
>  >  > >  > > - * Schema global element declaration (&lt;xs:element&gt.), it
>  > does not
>  >  > >  > >
>  >  > >  > > - * impose XML Schema as the type system. Instead it returns a
>  > string
>  >  > >  > describing
>  >  > >  > >
>  >  > >  > > - * the type system being used (e.g.
>  > "http://www.w3.org/2001/XMLSchema
>  >  > "),
>  >  > >  > >
>  >  > >  > > - * which will indicate how to interpret the content model.
>  >  > >  > >
>  >  > >  > > + * Component section). An ElementDeclaration refers to an 
>  >  > element, such
>  >  > >  > as
>  >  > >  > >
>  >  > >  > > + * a global element declaration in the XML Schema type system
>  >  > >  > >
>  >  > >  > > + * (&lt;xs:element&gt.), that describes the content of WSDL
>  > input,
>  >  > >  > output
>  >  > >  > >
>  >  > >  > > + * and fault messages.  However, it does not impose XML Schema as
>  > the
>  >  > >  > type system.
>  >  > >  > >
>  >  > >  > > + * It returns a String representing the content model or type
>  > system
>  >  > >  > >
>  >  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
>  > a java.lang.Object
>  >  > >  > >
>  >  > >  > > + * representing the content of the element declaration.
>  > ThisObject may
>  > 
>  >  > >  > >
>  >  > >  > > + * be cast to a type appropriate for the content model.
>  >  > >  > >
>  >  > >  > > + *
>  >  > >  > >
>  >  > >  > > + * TODO consider using woden specific package style names for the
>  > type
>  >  > >  > >
>  >  > >  > > + * system and content model constants, so that these can be
>  > configured
>  >  > >  > or
>  >  > >  > >
>  >  > >  > > + * defaulted prior to parsing and then referred to in a 
>  >  > standard way via
>  >  > >  > the API
>  >  > >  > >
>  >  > >  > > + * (e.g.
>  >  > >  > >
>  >  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  >  > >  > >
>  >  > >  > > + * org.apache.woden.DOM_Content_Model,
>  >  > >  > >
>  >  > >  > > + *
>  > org.apache.woden.XML_Schema_API_Content_Model).
>  >  > >  > >
>  >  > >  > >   *
>  >  > >  > >
>  >  > >  > > + *
>  >  > >  > >
>  >  > >  > >   * @author jkaputin@apache.org
>  >  > >  > >
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > >  public interface ElementDeclaration {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      public QName getName();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    /*
>  >  > >  > >
>  >  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  >  > >  > >
>  >  > >  > > +     */
>  >  > >  > >
>  >  > >  > >      public String getTypeSystem();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public Object getContentModel();
>  >  > >  > >
>  >  > >  > > +    /*
>  >  > >  > >
>  >  > >  > > +     * Indicates the type of model or API used to represent 
>  >  > the content.
>  >  > >  > >
>  >  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  >  > >  > >
>  >  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  >  > >  > XSElementDeclaration.
>  >  > >  > >
>  >  > >  > > +     */
>  >  > >  > >
>  >  > >  > > +    public String getContentModel();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  >  > java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  >  > java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  >  > java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -13,6 +13,13 @@
>  >  > >  > >
>  >  > >  > > 
>  > > >  > >      public String getDirection();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    /**
>  >  > >  > >
>  >  > >  > > +     * Indicates the type of message content.#any means any
>  > single
>  >  > >  > element,
>  >  > >  > >
>  >  > >  > > +     * #none means no message content, #other means non-XML
>  > extension
>  >  > >  > type system
>  >  > >  > >
>  >  > >  > > +     * or #element means XML Schema global element definition.
>  >  > >  > >
>  >  > >  > > +     *
>  >  > >  > >
>  >  > >  > > +     * @return string representing the type of message content
>  >  > >  > >
>  >  > >  > > +     */
>  >  > >  > >
>  >  > >  > >      public String getMessageContentModel();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      public ElementDeclaration getElementDeclaration();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > --- 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > >  > (original)
>  >  > >  > > +++ 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  >  > >  > Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -8,12 +8,22 @@
>  >  > >  > >  /**
>  >  > >  > >
>  >  > >  > >   * This interface represents the TypeDefinition component
>  > described
>  >  > >  > >
>  >  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  >  > Description
>  >  > >  > >
>  >  > >  > > - * Component section). This component is used for
>  > describingsimple or
>  > 
>  >  > >  > >
>  >  > >  > > - * complex data types. Although it reflects an XML Schema global
>  > type
>  >  > >  > > 
>  >  > > > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:
>  >  > complexType&gt.), it does
>  >  > >  > not
>  >  > >  > >
>  >  > >  > > - * impose XML Schema as the type system. Instead it returns a
>  > string
>  >  > >  > describing
>  >  > >  > >
>  >  > >  > > - * the type system being used (e.g.
>  > "http://www.w3.org/2001/XMLSchema
>  >  > "),
>  >  > >  > >
>  >  > >  > > - * which will indicate how to interpret the content model.
>  >  > >  > >
>  >  > >  > > + * Component section). This component refers to simple or complex
>  > data
>  >  > >  > types
>  >  > >  > >
>  >  > >  > > + * defined in a type system such as XML Schema
>  >  > >  > >
>  >  > >  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  >  > >  > >
>  >  > >  > > + * However, it does not impose XML Schema as the type system.
>  >  > >  > >
>  >  > >  > > + * It returns a String representing the content model or type
>  > system
>  >  > >  > >
>  >  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
>  > a java.lang.Object
>  >  > >  > >
>  >  > >  > > + * representing the content of the type definition. This Object
>  > may
>  >  > >  > >
>  >  > >  > > + * be cast to a type appropriate for the content model.
>  >  > >  > >
>  >  > >  > > + *
>  >  > >  > >
>  >  > >  > > + * TODO consider using woden specific package style names for the
>  > type
>  >  > >  > >
>  >  > >  > > + * system and content model constants, so that these can be
>  > configured
>  >  > >  > or
>  >  > >  > >
>  >  > >  > > + * defaulted prior to parsing and then referred to in a 
>  >  > standard way via
>  >  > >  > the API
>  >  > >  > >
>  >  > >  > > + * (e.g.
>  >  > >  > >
>  >  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  >  > >  > >
>  >  > >  > > + * org.apache.woden.DOM_Content_Model,
>  >  > >  > >
>  >  > >  > > + *
>  > org.apache.woden.XML_Schema_API_Content_Model).
>  >  > >  > >
>  >  > >  > >   *
>  >  > >  > >
>  >  > >  > >   * @author jkaputin@apache.org
>  >  > >  > >
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > > @@ -21,8 +31,18 @@
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      public QName getName();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    /*
>  >  > >  > >
>  >  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  >  > >  > >
>  >  > >  > > +     */
>  >  > >  > >
>  >  > >  > >      public String getTypeSystem();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public Object getContentModel();
>  >  > >  > >
>  >  > >  > > +    /*
>  >  > >  > >
>  >  > >  > > +     * Indicates the type of model or API used to represent 
>  >  > the content.
>  >  > >  > >
>  >  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  >  > >  > >
>  >  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  > XSTypeDefinition.
>  >  > >  > >
>  >  > >  > > +     */
>  >  > >  > >
>  >  > >  > > +    public String getContentModel();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  >  > >  > (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > Tue
>  >  > >  > Sep  6 07:55:53 2005
>  >  > >  > > @@ -17,8 +17,10 @@
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      public String getTargetNamespace();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public void setContentModel(Object schemaEl);
>  >  > >  > >
>  >  > >  > > +    public String getTypeSystem();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public Object getContentModel();
>  >  > >  > >
>  >  > >  > > +    public String getContentModel();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -20,4 +20,9 @@
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >      public String getSchemaLocation();
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > +    public String getTypeSystem();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public String getContentModel();
>  >  > >  > >
>  >  > >  > > +
>  >  > >  > >
>  >  > >  > > +    public Object getContent();
>  >  > >  > >
>  >  > >  > >  }
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > Modified:
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > >  > 
>  >  > >  > > URL:
>  >  > >  > http://svn.apache.
>  >  >
>  > org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.
>  >  > java?rev=279015&r1=279014&r2=279015&view=diff
>  >  > >  > 
>  >  > >  > >
>  >  > >  > 
>  >  >
>  > ==============================================================================
>  >  > >  > 
>  >  > >  > > ---
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > >  >  (original)
>  >  > >  > > +++
>  >  > >  > 
>  >  >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  > >  >  Tue Sep  6 07:55:53 2005
>  >  > >  > > @@ -13,7 +13,7 @@
>  >  > >  > >   */
>  >  > >  > >
>  >  > >  > >  public interface DocumentationElement extends WSDL20Element {
>  >  > >  > >
>  >  > >  > >
>  >  > >  > >
>  >  > >  > > -    public void setContentModel(Object docEl);
>  >  > >  > >
>  >  > >  > > +    public void setContent(Object docEl);
>  > &nb...
> 
> [Message clipped]



-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Lawrence Mandel <lm...@ca.ibm.com>.
Thanks Dims. Follow-up question for you. Is Axis planning on shipping 
XmlSchema-0.9.jar or packaging the XmlSchema code in with the Axis binary? 


Lawrence




Davanum Srinivas <da...@gmail.com> 
09/16/2005 05:32 PM
Please respond to
woden-dev


To
woden-dev@ws.apache.org
cc

Subject
Re: (Re: svn commit: r279015 - in 
/incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ 
internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)






Repo is here - http://people.apache.org/~dims/maven/ please look under
axis/jars (i know bad naming, we have to change that). This is where
Axis2 picks up the jar from.

thanks,
dims

On 9/16/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
> 
> Dims, 
> 
> You said you upload the snapshots to a private maven repo. Is that an 
Axis
> private repo that Woden can access? If so, can you tell me where the 
repo is
> located? 
> 
> Thanks, 
> 
>  Lawrence 
> 
> 
> Davanum Srinivas <da...@gmail.com> wrote on 09/09/2005 12:52:00 PM:
> 
> 
>  > Lawrence,
>  > 
>  > All WS folks (includes You :) have privileges to modify the code.
>  > Please feel free to make any changes including package names . Please
>  > cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
>  > code in Axis2. We upload snapshots right now into a private maven 
repo
>  > that Axis2 build picks up. I can update that snapshot regularly if
>  > needed.
>  > 
>  > thanks,
>  > dims
>  > 
>  > On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  > > 
>  > > Hi Dims, 
>  > > 
>  > > Is XmlSchema packaged as a separate distro that is picked up by 
>  > Axis2 or does Axis 2 grab and compile the source? 
>  > > 
>  > > I see that the package name for XmlSchema contains 'axis'. Is 
>  > there a plan to change the package name now that XmlSchema is a 
>  > common WS component? Do any other WS components use XmlSchema at 
>  > this point or has it simply been made common so other components can 
use
> it? 
>  > > 
>  > >  Lawrence Mandel
>  > > 
>  > >  Software Developer
>  > >  IBM Rational Software
>  > >  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  > >  lmandel@ca.ibm.com 
>  > > 
>  > > 
>  > > 
>  > >  Davanum Srinivas <da...@gmail.com> 
>  > > 
>  > > 09/08/2005 11:57 AM 
>  > > 
>  > > Please respond to
>  > >  woden-dev 
>  > > 
>  > > 
>  > > To woden-dev@ws.apache.org 
>  > > 
>  > > cc 
>  > > 
>  > > 
>  > > Subject Re: (Re: svn commit: r279015 - in 
>  > /incubator/woden/java/src/org/apache/woden: internal/ 
>  > internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ 
>  > wsdl20/extensions/ wsdl20/xml/) 
>  > > 
>  > > 
>  > > 
>  > > 
>  > > 
>  > > 
>  > > 
>  > > It's used in Axis2 (Please use the SchemaBuilder -
>  > >  http://svn.apache.
>  >
> 
org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.
>  > java)
>  > > 
>  > >  -- dims
>  > > 
>  > >  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  > >  > Dims,
>  > >  > I've been looking without success for info or code samples on 
using
>  > >  > XmlSchema. e.g. the programming model for creating an XmlSchema
> object.
>  > >  > Searched the java source in CVS ws-axis and SVN axis for
>  > >  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any 
>  > references. Is
>  > >  > it being used yet?
>  > >  > 
>  > >  > 
>  > >  > John Kaputin
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  >              Davanum Srinivas
>  > >  >              <davanum@gmail.co
>  > >  >              m>  
>  To
>  > >  >                                        woden-dev@ws.apache.org
>  > >  >              06/09/2005 16:06  
>  cc
>  > >  > 
>  > >  > 
> Subject
>  > >  >              Please respond to         (Re: svn commit: r279015 
- in
>  > >  >                  woden-dev 
>  > /incubator/woden/java/src/org/apach
>  > >  >                                        e/woden: internal/ 
>  > internal/wsdl20/
>  > >  > 
>  > internal/wsdl20/extensions/ wsdl20/
>  > >  >                                        wsdl20/extensions/
> wsdl20/xml/)
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > John,
>  > >  > 
>  > >  > Could we please use XmlSchema?
>  > >  >
> (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
>  > >  > 
>  > >  > That way we are not stuck to a specifc version of Xerces.
>  > >  > 
>  > >  > -- dims
>  > >  > 
>  > >  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  > >  > > Author: jkaputin
>  > >  > > Date: Tue Sep  6 07:55:53 2005
>  > >  > > New Revision: 279015
>  > >  > >
>  > >  > > URL:
> http://svn.apache.org/viewcvs?rev=279015&view=rev
>  > >  > > Log:
>  > >  > > Added DOM parsing of schema and schema import using XML
>  > >  > >
>  > >  > > Schema API (XSModel) to access element and types.
>  > >  > >
>  > >  > > Modified:
>  > >  > > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  > 
>  > >  > > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > --- 
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > (original)
>  > >  > > +++ 
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -27,6 +27,18 @@
>  > >  > >  import org.xml.sax.InputSource;
>  > >  > >
>  > >  > >  import org.xml.sax.SAXException;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +//JK temporary imports (pending TODOs)
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import
> org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSImplementation;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSLoader;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSModel;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  > >  > >
>  > >  > > +import org.w3c.dom.ls.LSInput;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >  import temp.WSDLException;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > @@ -164,7 +176,7 @@
>  > >  > > 
> DescriptionElement
>  > >  > desc)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          DocumentationElement documentation =
>  > >  > desc.createDocumentationElement();
>  > >  > >
>  > >  > > -        documentation.setContentModel(docEl);
>  > >  > >
>  > >  > > +        documentation.setContent(docEl);
>  > >  > >
>  > >  > >          return documentation;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -189,18 +201,81 @@
>  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >  > >
>  > >  > >       * Need generic support for other type systems.
>  > >  > >
>  > >  > >       * Consider extension architecture with
> serializer/deserializer.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
> represent
>  > >  > >
>  > >  > > +     * schema and parse elements and types. This will create 
a
> Xerces
>  > >  > >
>  > >  > > +     * parser dependency on the Woden DOM implementation 
(rather
> than
>  > >  > >
>  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
> further.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      private Schema parseSchemaInline(Element schemaEl,
>  > >  > >
>  > >  > >                                       TypesElement desc)
>  > >  > >
>  > >  > >                                       throws WSDLException
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        Schema schema = new SchemaImpl();
>  > >  > >
>  > >  > > +        SchemaImpl schema = new SchemaImpl();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schema.setTargetNamespace(
>  > >  > >
>  > >  > >              DOMUtils.getAttribute(schemaEl,
>  > >  > Constants.ATTR_TARGET_NAMESPACE));
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -        schema.setContentModel(schemaEl);
>  > >  > >
>  > >  > > +        //TODO the type system will depend on the WSDL doc so
> consider
>  > >  > >
>  > >  > > +        //parameterizing it. Fixed with an XML Schema 
>  > constant for now.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
> Schema
>  > >  > type system
>  > >  > >
>  > >  > > +        schema.setContentModel(Constants.TYPE_XS_API); 
>  > //XML Schema API
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +        //TODO currently only the XSModel is stored in 
Schema.
>  > >  > >
>  > >  > > +        //The DOM element representing the schema is not 
stored.
>  > >  > >
>  > >  > > +        //Either might be useful to an application dealing
>  > >  > >
>  > >  > > +        //with the underlying types (e.g. generator tooling).
>  > >  > >
>  > >  > > +        //So consider changing Schema so that it stores both.
>  > >  > >
>  > >  > > +        //Perhaps using a Map with a ContentModel/Content 
pair.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        try {
>  > >  > >
>  > >  > > +            //create an LSInput object to hold the schema 
string
>  > >  > >
>  > >  > > + 
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > + 
> "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry domRegistry =
>  > >  > >
>  > >  > > + 
> DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            DOMImplementationLS domImpl =
>  > >  > >
>  > >  > > +
>  > >  >
> (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            LSInput lsInput = domImpl.createLSInput();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            //store the schema as a string in the LSInput
>  > >  > >
>  > >  > > +            String schemaString =
> DOM2Writer.nodeToString(schemaEl);
>  > >  > >
>  > >  > > +            System.out.println(schemaString);
>  > >  > >
>  > >  > > +            lsInput.setStringData(schemaString);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel 
ofthe
> schema
> 
>  > >  > >
>  > >  > > + 
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > +                "org.apache.xerces.dom.
>  > DOMXSImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry xsRegistry =
>  > >  > DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSImplementation xsImpl =
>  > >  > >
>  > >  > > +                (XSImplementation)
>  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            schema.setContent(xsModel);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            /*
>  > >  > >
>  > >  > > +             * print out the schema elements
>  > >  > >
>  > >  > > +             *
>  > >  > >
>  > >  > > +            XSNamedMap xsNamedMap =
>  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >  > >
>  > >  > > +            System.out.println("\nInline schema elements (" +
>  > >  > xsNamedMap.getLength() +"):");
>  > >  > >
>  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >  > >
>  > >  > > +            {
>  > >  > >
>  > >  > > +                System.out.println(
> (xsNamedMap.item(i)).getName() );
>  > >  > >
>  > >  > > +            }
>  > >  > >
>  > >  > > +             */
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        } catch (Exception e) {
>  > >  > >
>  > >  > > +            // TODO consider appropriate exceptions
>  > >  > >
>  > >  > > +            e.printStackTrace();
>  > >  > >
>  > >  > > +        }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >          return schema;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -208,19 +283,67 @@
>  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >  > >
>  > >  > >       * Need generic support for other type systems.
>  > >  > >
>  > >  > >       * Consider extension architecture with
> serializer/deserializer.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
> represent
>  > >  > >
>  > >  > > +     * schema and parse elements and types. This will create 
a
> Xerces
>  > >  > >
>  > >  > > +     * parser dependency on the Woden DOM implementation 
(rather
> than
>  > >  > >
>  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
> further.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  > >  > >
>  > >  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  > >  > >
>  > >  > >                                             TypesElement 
types)
>  > >  > >
>  > >  > >                                             throws 
WSDLException
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  > >  > >
>  > >  > > +        //TODO use extension architecture aka WSDL4J
>  > >  > >
>  > >  > > +        SchemaImportImpl schemaImport = new 
SchemaImportImpl();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schemaImport.setNamespace(
>  > >  > >
>  > >  > > -            DOMUtils.getAttribute(schemaEl, Constants.
>  > ATTR_NAMESPACE));
>  > >  > >
>  > >  > > +            DOMUtils.getAttribute(importEl, Constants.
>  > ATTR_NAMESPACE));
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schemaImport.setSchemaLocation(
>  > >  > >
>  > >  > > -            DOMUtils.getAttribute(schemaEl,
>  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >  > >
>  > >  > > +            DOMUtils.getAttribute(importEl,
>  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        //TODO currently only the XSModel is stored in 
Schema.
>  > >  > >
>  > >  > > +        //The DOM element representing the schema is not 
stored.
>  > >  > >
>  > >  > > +        //Either might be useful to an application dealing
>  > >  > >
>  > >  > > +        //with the underlying types (e.g. generator tooling).
>  > >  > >
>  > >  > > +        //So consider changing Schema so that it stores both.
>  > >  > >
>  > >  > > +        //Perhaps using a Map with a ContentModel/Content 
pair.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001); 
> //XML
>  > >  > Schema type system
>  > >  > >
>  > >  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API); 
> //XML
>  > >  > Schema API
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +        try {
>  > >  > >
>  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel 
ofthe
> schema
> 
>  > >  > >
>  > >  > > + 
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > +                "org.apache.xerces.dom.
>  > DOMXSImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry xsRegistry =
>  > >  > DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSImplementation xsImpl =
>  > >  > >
>  > >  > > +                (XSImplementation)
>  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            String sloc = schemaImport.getSchemaLocation();
>  > >  > >
>  > >  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            schemaImport.setContent(xsModel);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            /*
>  > >  > >
>  > >  > > +             * print out the schema elements
>  > >  > >
>  > >  > > +             *
>  > >  > >
>  > >  > > +            XSNamedMap xsNamedMap =
>  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >  > >
>  > >  > > +            System.out.println("\nImported schema elements (" 
+
>  > >  > xsNamedMap.getLength() +"):");
>  > >  > >
>  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >  > >
>  > >  > > +            {
>  > >  > >
>  > >  > > +                System.out.println(
> (xsNamedMap.item(i)).getName() );
>  > >  > >
>  > >  > > +            }
>  > >  > >
>  > >  > > +             */
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        } catch (Exception e) {
>  > >  > >
>  > >  > > +            // TODO consider appropriate exceptions
>  > >  > >
>  > >  > > +            e.printStackTrace();
>  > >  > >
>  > >  > > +        }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >          return schemaImport;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -235,11 +358,11 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          TypesElement types = desc.createTypesElement();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > > +        //TODO for now, set to XML Schema namespace. Later,
>  > >  > >
>  > >  > > +        //add support for non-XML Schema type systems
>  > >  > >
>  > >  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          Element tempEl = 
DOMUtils.getFirstChildElement(typesEl);
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          while (tempEl != null)
>  > >  > >
>  > >  > >          {
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -104,6 +104,15 @@
>  > >  > >      public static final String ATTR_BINDING = "binding";
>  > >  > >
>  > >  > >      public static final String ATTR_LOCATION = "address";
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    //Type systems or content models
>  > >  > >
>  > >  > > +    public static final String TYPE_XSD_2001 =
>  > >  > >
>  > >  > > +        "http://www.w3.org/2001/XMLSchema";
>  > >  > >
>  > >  > > +    public static final String TYPE_DOM_API =
>  > >  > >
>  > >  > > +        "org.w3c.dom";
>  > >  > > 
> > >  > > +    public static final String TYPE_XS_API =
>  > >  > >
>  > >  > > +        "org.apache.xerces.xs";
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >    //TODO determine if/how these needed
>  > >  > >
>  > >  > >    public static final String ATTR_XMLNS = "xmlns";
>  > >  > >
>  > >  > >    public static final String ATTR_NAMESPACE = "namespace";
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -16,22 +16,22 @@
>  > >  > >   */
>  > >  > >
>  > >  > >  public class DocumentationImpl implements 
DocumentationElement {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    private Object fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.xml.
>  > DocumentationElement#setContentModel(java.lang.Object)
>  > >  > 
>  > >  > >
>  > >  > >       */ 
>  > > > >
>  > >  > > -    public void setContentModel(Object docEl)
>  > >  > >
>  > >  > > +    public void setContent(Object docEl)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        this.fContentModel = docEl;
>  > >  > >
>  > >  > > +        this.fContent = docEl;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  >
> org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > > -    public Object getContentModel()
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        return this.fContentModel;
>  > >  > >
>  > >  > > +        return this.fContent;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -21,13 +21,14 @@
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public class InterfaceImpl implements Interface, 
InterfaceElement
> {
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    QName fName;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
> org.apache.woden.wsdl20.Interface#getName()
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      public QName getName() {
>  > >  > >
>  > >  > > -        // TODO Auto-generated method stub
>  > >  > >
>  > >  > > -        return null;
>  > >  > >
>  > >  > > +        return fName;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -27,6 +27,7 @@
>  > >  > >  public class TypesImpl implements TypesElement {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      private DocumentationElement fDocumentation;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > >      private Map fSchemaImports = new HashMap();
>  > >  > >
>  > >  > >      private Map fSchemas = new HashMap();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -40,6 +41,16 @@
>  > >  > >      public DocumentationElement getDocumentationElement()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          return fDocumentation;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fTypeSystem;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /*
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -6,14 +6,16 @@
>  > >  > >  import
> org.apache.woden.wsdl20.extensions.Schema;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > - * A wrapper for a <xs:schema> element.
>  > >  > >
>  > >  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public class SchemaImpl implements Schema {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      private String fTargetNamespace;
>  > >  > >
>  > >  > > -    private Object fContentModel;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > > +    private String fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.extensions.
>  > Schema#setTargetNamespace(java.lang.String)
>  > >  > 
>  > >  > >
>  > >  > > @@ -30,15 +32,35 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          return fTargetNamespace;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fTypeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object schemaEl)
>  > >  > >
>  > >  > > +    public void setContentModel(String contentModel)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        fContentModel = schemaEl;
>  > >  > >
>  > >  > > +        fContentModel = contentModel;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel()
>  > >  > >
>  > >  > > +    public String getContentModel()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          return fContentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setContent(Object schemaContent)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fContent = schemaContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fContent;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -6,9 +6,7 @@
>  > >  > >  import
> org.apache.woden.wsdl20.extensions.SchemaImport;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > - * This interface represents the XML element information item 
for
>  > >  > >
>  > >  > > - * a &lt;xs:import&gt; element. It declares the behaviour
> required to
>  > >  > >
>  > >  > > - * support parsing, creating and manipulating a 
&lt;xs:import&gt;
>  > >  > element.
>  > >  > >
>  > >  > > + * A wrapper for a &lt;xs:import&gt; element.
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > > @@ -16,6 +14,9 @@
>  > >  > >
>  > >  > >
>  > >  > >      private String fNamespace = null;
>  > >  > >
>  > >  > >      private String fSchemaLocation = null;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > > +    private String fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.extensions.
>  > SchemaImport#setNamespace(java.lang.String)
>  > >  > 
>  > >  > >
>  > >  > > @@ -49,5 +50,34 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          return this.fSchemaLocation;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fTypeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setContentModel(String contentModel)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fContentModel = contentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getContentModel()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fContentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    public void setContent(Object importedSchemaContent)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fContent = importedSchemaContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -8,21 +8,42 @@
>  > >  > >  /**
>  > >  > >
>  > >  > >   * This interface represents the ElementDeclaration 
>  > component described
>  > >  > >
>  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  > Description
>  > >  > >
>  > >  > > - * Component section). This component is used for describing
>  > the content
>  > >  > >
>  > >  > > - * of input, output and fault messages. Although it reflects 
an
> XML
>  > >  > >
>  > >  > > - * Schema global element declaration (&lt;xs:element&gt.), it
> does not
>  > >  > >
>  > >  > > - * impose XML Schema as the type system. Instead it returns a
> string
>  > >  > describing
>  > >  > >
>  > >  > > - * the type system being used (e.g.
> "http://www.w3.org/2001/XMLSchema
>  > "),
>  > >  > >
>  > >  > > - * which will indicate how to interpret the content model.
>  > >  > >
>  > >  > > + * Component section). An ElementDeclaration refers to an 
>  > element, such
>  > >  > as
>  > >  > >
>  > >  > > + * a global element declaration in the XML Schema type system
>  > >  > >
>  > >  > > + * (&lt;xs:element&gt.), that describes the content of WSDL
> input,
>  > >  > output
>  > >  > >
>  > >  > > + * and fault messages.  However, it does not impose XML 
Schema as
> the
>  > >  > type system.
>  > >  > >
>  > >  > > + * It returns a String representing the content model or type
> system
>  > >  > >
>  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
> a java.lang.Object
>  > >  > >
>  > >  > > + * representing the content of the element declaration.
> ThisObject may
> 
>  > >  > >
>  > >  > > + * be cast to a type appropriate for the content model.
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > > + * TODO consider using woden specific package style names for 
the
> type
>  > >  > >
>  > >  > > + * system and content model constants, so that these can be
> configured
>  > >  > or
>  > >  > >
>  > >  > > + * defaulted prior to parsing and then referred to in a 
>  > standard way via
>  > >  > the API
>  > >  > >
>  > >  > > + * (e.g.
>  > >  > >
>  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >  > >
>  > >  > > + * org.apache.woden.DOM_Content_Model,
>  > >  > >
>  > >  > > + *
> org.apache.woden.XML_Schema_API_Content_Model).
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public interface ElementDeclaration {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      public QName getName();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * Indicates the type of model or API used to represent 
>  > the content.
>  > >  > >
>  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >  > >
>  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  > >  > XSElementDeclaration.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -13,6 +13,13 @@
>  > >  > >
>  > >  > > 
> > >  > >      public String getDirection();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Indicates the type of message content.#any means any
> single
>  > >  > element,
>  > >  > >
>  > >  > > +     * #none means no message content, #other means non-XML
> extension
>  > >  > type system
>  > >  > >
>  > >  > > +     * or #element means XML Schema global element 
definition.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * @return string representing the type of message 
content
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getMessageContentModel();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      public ElementDeclaration getElementDeclaration();
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > --- 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > (original)
>  > >  > > +++ 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -8,12 +8,22 @@
>  > >  > >  /**
>  > >  > >
>  > >  > >   * This interface represents the TypeDefinition component
> described
>  > >  > >
>  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  > Description
>  > >  > >
>  > >  > > - * Component section). This component is used for
> describingsimple or
> 
>  > >  > >
>  > >  > > - * complex data types. Although it reflects an XML Schema 
global
> type
>  > >  > > 
>  > > > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:
>  > complexType&gt.), it does
>  > >  > not
>  > >  > >
>  > >  > > - * impose XML Schema as the type system. Instead it returns a
> string
>  > >  > describing
>  > >  > >
>  > >  > > - * the type system being used (e.g.
> "http://www.w3.org/2001/XMLSchema
>  > "),
>  > >  > >
>  > >  > > - * which will indicate how to interpret the content model.
>  > >  > >
>  > >  > > + * Component section). This component refers to simple or 
complex
> data
>  > >  > types
>  > >  > >
>  > >  > > + * defined in a type system such as XML Schema
>  > >  > >
>  > >  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  > >  > >
>  > >  > > + * However, it does not impose XML Schema as the type system.
>  > >  > >
>  > >  > > + * It returns a String representing the content model or type
> system
>  > >  > >
>  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
> a java.lang.Object
>  > >  > >
>  > >  > > + * representing the content of the type definition. This 
Object
> may
>  > >  > >
>  > >  > > + * be cast to a type appropriate for the content model.
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > > + * TODO consider using woden specific package style names for 
the
> type
>  > >  > >
>  > >  > > + * system and content model constants, so that these can be
> configured
>  > >  > or
>  > >  > >
>  > >  > > + * defaulted prior to parsing and then referred to in a 
>  > standard way via
>  > >  > the API
>  > >  > >
>  > >  > > + * (e.g.
>  > >  > >
>  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >  > >
>  > >  > > + * org.apache.woden.DOM_Content_Model,
>  > >  > >
>  > >  > > + *
> org.apache.woden.XML_Schema_API_Content_Model).
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > > @@ -21,8 +31,18 @@
>  > >  > >
>  > >  > >
>  > >  > >      public QName getName();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * Indicates the type of model or API used to represent 
>  > the content.
>  > >  > >
>  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >  > >
>  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
> XSTypeDefinition.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> Tue
>  > >  > Sep  6 07:55:53 2005
>  > >  > > @@ -17,8 +17,10 @@
>  > >  > >
>  > >  > >
>  > >  > >      public String getTargetNamespace();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object schemaEl);
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -20,4 +20,9 @@
>  > >  > >
>  > >  > >
>  > >  > >      public String getSchemaLocation();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -13,7 +13,7 @@
>  > >  > >   */
>  > >  > >
>  > >  > >  public interface DocumentationElement extends WSDL20Element {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object docEl);
>  > >  > >
>  > >  > > +    public void setContent(Object docEl);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> 
==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> Tue
>  > >  > Sep  6 07:55:53 2005
>  > >  > > @@ -31,19 +31,37 @@
>  > >  > >
>  > >  > >
>  > >  > >      public DocumentationElement getDocumentationElement();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Indicate the type system used within the &lt;types&gt;
>  > >  > >
>  > >  > > +     * element. Typically the XML Schema type system will be
>  > >  > >
>  > >  > > +     * used, represented by the XML Schema namespace
>  > >  > >
>  > >  > > +     * "http://www.w3.org/2001/XMLSchema".
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Get the string indicating the type system used within 
the
>  > >  > &lt;types&gt;
>  > >  > >
>  > >  > > +     * element.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >      /*
>  > >  > >
>  > >  > >       * Schema imports &lt;xs:import&gt; are stored in a Map 
of
>  > >  > SchemaImport[]
>  > >  > >
>  > >  > >       * keyed by namespace. The schemaLocation attribute will
>  > distinguish
>  > >  > >
>  > >  > >       * schemas imported with the same namespace.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Add a SchemaImport to the schemas imported within the
>  > >  > &lt;types&gt; element.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public void addSchemaImport(SchemaImport schemaImport);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      //TODO what if schemaLoc is null and there is more than 
one
> import
>  > >  > for this namespace?
>  > >  > >
>  > >  > >      //Delete all or raise an error?
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /**
>  > >  > >
>  > >  > > -     * Add a SchemaImport to the schemas imported within the
>  > >  > &lt;types&gt; element.
>  > >  > >
>  > >  > > +     * Remove a SchemaImport from the list of schemas 
imported
>  > >  > >
>  > >  > > +     * within the &lt;types&gt; element.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      public void removeSchemaImport(String namespace, String 
>  > schemaLoc);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
> ---------------------------------------------------------------------
>  > >  > > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > >
>  > >  > >
>  > >  > 
>  > >  > 
>  > >  > --
>  > >  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web 
>  > Service Platform
>  > >  > 
>  > >  >
> ---------------------------------------------------------------------
>  > >  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  >
> ---------------------------------------------------------------------
>  > >  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > 
>  > >  > 
>  > > 
>  > > 
>  > >  -- 
>  > >  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service
> Platform
>  > > 
>  > > 
> ---------------------------------------------------------------------
>  > >  To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > > 
>  > > 
>  > > 
>  > 
>  > 
>  > 
>  > -- 
>  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service
> Platform
>  > 
>  >
> ---------------------------------------------------------------------
>  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
> 


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org



Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
Repo is here - http://people.apache.org/~dims/maven/ please look under
axis/jars (i know bad naming, we have to change that). This is where
Axis2 picks up the jar from.

thanks,
dims

On 9/16/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  
> Dims, 
>  
> You said you upload the snapshots to a private maven repo. Is that an Axis
> private repo that Woden can access? If so, can you tell me where the repo is
> located? 
>  
> Thanks, 
> 
>  Lawrence 
>  
>  
> Davanum Srinivas <da...@gmail.com> wrote on 09/09/2005 12:52:00 PM:
> 
>  
>  > Lawrence,
>  > 
>  > All WS folks (includes You :) have privileges to modify the code.
>  > Please feel free to make any changes including package names . Please
>  > cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
>  > code in Axis2. We upload snapshots right now into a private maven repo
>  > that Axis2 build picks up. I can update that snapshot regularly if
>  > needed.
>  > 
>  > thanks,
>  > dims
>  > 
>  > On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  > >  
>  > > Hi Dims, 
>  > >  
>  > > Is XmlSchema packaged as a separate distro that is picked up by 
>  > Axis2 or does Axis 2 grab and compile the source? 
>  > >  
>  > > I see that the package name for XmlSchema contains 'axis'. Is 
>  > there a plan to change the package name now that XmlSchema is a 
>  > common WS component? Do any other WS components use XmlSchema at 
>  > this point or has it simply been made common so other components can use
> it? 
>  > > 
>  > >  Lawrence Mandel
>  > >  
>  > >  Software Developer
>  > >  IBM Rational Software
>  > >  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  > >  lmandel@ca.ibm.com 
>  > >  
>  > >  
>  > >   
>  > >  Davanum Srinivas <da...@gmail.com>  
>  > > 
>  > > 09/08/2005 11:57 AM  
>  > >   
>  > > Please respond to
>  > >  woden-dev 
>  > >    
>  > >   
>  > > To woden-dev@ws.apache.org 
>  > >   
>  > > cc  
>  > > 
>  > >   
>  > > Subject Re: (Re: svn commit: r279015 - in 
>  > /incubator/woden/java/src/org/apache/woden: internal/ 
>  > internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ 
>  > wsdl20/extensions/ wsdl20/xml/) 
>  > >   
>  > >   
>  > > 
>  > >  
>  > >  
>  > >  
>  > >  
>  > > It's used in Axis2 (Please use the SchemaBuilder -
>  > >  http://svn.apache.
>  >
> org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.
>  > java)
>  > >  
>  > >  -- dims
>  > >  
>  > >  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  > >  > Dims,
>  > >  > I've been looking without success for info or code samples on using
>  > >  > XmlSchema. e.g. the programming model for creating an XmlSchema
> object.
>  > >  > Searched the java source in CVS ws-axis and SVN axis for
>  > >  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any 
>  > references. Is
>  > >  > it being used yet?
>  > >  > 
>  > >  > 
>  > >  > John Kaputin
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  >              Davanum Srinivas
>  > >  >              <davanum@gmail.co
>  > >  >              m>                                                     
>  To
>  > >  >                                        woden-dev@ws.apache.org
>  > >  >              06/09/2005 16:06                                       
>  cc
>  > >  > 
>  > >  >                                                                 
> Subject
>  > >  >              Please respond to         (Re: svn commit: r279015 - in
>  > >  >                  woden-dev             
>  > /incubator/woden/java/src/org/apach
>  > >  >                                        e/woden: internal/ 
>  > internal/wsdl20/
>  > >  >                                        
>  > internal/wsdl20/extensions/ wsdl20/
>  > >  >                                        wsdl20/extensions/
> wsdl20/xml/)
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > John,
>  > >  > 
>  > >  > Could we please use XmlSchema?
>  > >  >
> (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
>  > >  > 
>  > >  > That way we are not stuck to a specifc version of Xerces.
>  > >  > 
>  > >  > -- dims
>  > >  > 
>  > >  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  > >  > > Author: jkaputin
>  > >  > > Date: Tue Sep  6 07:55:53 2005
>  > >  > > New Revision: 279015
>  > >  > >
>  > >  > > URL:
> http://svn.apache.org/viewcvs?rev=279015&view=rev
>  > >  > > Log:
>  > >  > > Added DOM parsing of schema and schema import using XML
>  > >  > >
>  > >  > > Schema API (XSModel) to access element and types.
>  > >  > >
>  > >  > > Modified:
>  > >  > >     
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  > 
>  > >  > >     
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  > 
>  > >  > >
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > --- 
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > (original)
>  > >  > > +++ 
>  >
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -27,6 +27,18 @@
>  > >  > >  import org.xml.sax.InputSource;
>  > >  > >
>  > >  > >  import org.xml.sax.SAXException;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +//JK temporary imports (pending TODOs)
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import
> org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSImplementation;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSLoader;
>  > >  > >
>  > >  > > +import org.apache.xerces.xs.XSModel;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  > >  > >
>  > >  > > +import org.w3c.dom.ls.LSInput;
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >  import temp.WSDLException;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > @@ -164,7 +176,7 @@
>  > >  > >                                                     
> DescriptionElement
>  > >  > desc)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          DocumentationElement documentation =
>  > >  > desc.createDocumentationElement();
>  > >  > >
>  > >  > > -        documentation.setContentModel(docEl);
>  > >  > >
>  > >  > > +        documentation.setContent(docEl);
>  > >  > >
>  > >  > >          return documentation;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -189,18 +201,81 @@
>  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >  > >
>  > >  > >       * Need generic support for other type systems.
>  > >  > >
>  > >  > >       * Consider extension architecture with
> serializer/deserializer.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
> represent
>  > >  > >
>  > >  > > +     * schema and parse elements and types. This will create a
> Xerces
>  > >  > >
>  > >  > > +     * parser dependency on the Woden DOM implementation (rather
> than
>  > >  > >
>  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
> further.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      private Schema parseSchemaInline(Element schemaEl,
>  > >  > >
>  > >  > >                                       TypesElement desc)
>  > >  > >
>  > >  > >                                       throws WSDLException
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        Schema schema = new SchemaImpl();
>  > >  > >
>  > >  > > +        SchemaImpl schema = new SchemaImpl();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schema.setTargetNamespace(
>  > >  > >
>  > >  > >              DOMUtils.getAttribute(schemaEl,
>  > >  > Constants.ATTR_TARGET_NAMESPACE));
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -        schema.setContentModel(schemaEl);
>  > >  > >
>  > >  > > +        //TODO the type system will depend on the WSDL doc so
> consider
>  > >  > >
>  > >  > > +        //parameterizing it. Fixed with an XML Schema 
>  > constant for now.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
> Schema
>  > >  > type system
>  > >  > >
>  > >  > > +        schema.setContentModel(Constants.TYPE_XS_API);  
>  > //XML Schema API
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >  > >
>  > >  > > +        //The DOM element representing the schema is not stored.
>  > >  > >
>  > >  > > +        //Either might be useful to an application dealing
>  > >  > >
>  > >  > > +        //with the underlying types (e.g. generator tooling).
>  > >  > >
>  > >  > > +        //So consider changing Schema so that it stores both.
>  > >  > >
>  > >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        try {
>  > >  > >
>  > >  > > +            //create an LSInput object to hold the schema string
>  > >  > >
>  > >  > > +           
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > +               
> "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry domRegistry =
>  > >  > >
>  > >  > > +               
> DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            DOMImplementationLS domImpl =
>  > >  > >
>  > >  > > +
>  > >  >
> (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            LSInput lsInput = domImpl.createLSInput();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            //store the schema as a string in the LSInput
>  > >  > >
>  > >  > > +            String schemaString =
> DOM2Writer.nodeToString(schemaEl);
>  > >  > >
>  > >  > > +            System.out.println(schemaString);
>  > >  > >
>  > >  > > +            lsInput.setStringData(schemaString);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe
> schema
> 
>  > >  > >
>  > >  > > +           
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > +                "org.apache.xerces.dom.
>  > DOMXSImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry xsRegistry =
>  > >  > DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSImplementation xsImpl =
>  > >  > >
>  > >  > > +                (XSImplementation)
>  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            schema.setContent(xsModel);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            /*
>  > >  > >
>  > >  > > +             * print out the schema elements
>  > >  > >
>  > >  > > +             *
>  > >  > >
>  > >  > > +            XSNamedMap xsNamedMap =
>  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >  > >
>  > >  > > +            System.out.println("\nInline schema elements (" +
>  > >  > xsNamedMap.getLength() +"):");
>  > >  > >
>  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >  > >
>  > >  > > +            {
>  > >  > >
>  > >  > > +                System.out.println(
> (xsNamedMap.item(i)).getName() );
>  > >  > >
>  > >  > > +            }
>  > >  > >
>  > >  > > +             */
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        } catch (Exception e) {
>  > >  > >
>  > >  > > +            // TODO consider appropriate exceptions
>  > >  > >
>  > >  > > +            e.printStackTrace();
>  > >  > >
>  > >  > > +        }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >          return schema;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -208,19 +283,67 @@
>  > >  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >  > >
>  > >  > >       * Need generic support for other type systems.
>  > >  > >
>  > >  > >       * Consider extension architecture with
> serializer/deserializer.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to
> represent
>  > >  > >
>  > >  > > +     * schema and parse elements and types. This will create a
> Xerces
>  > >  > >
>  > >  > > +     * parser dependency on the Woden DOM implementation (rather
> than
>  > >  > >
>  > >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered
> further.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  > >  > >
>  > >  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  > >  > >
>  > >  > >                                             TypesElement types)
>  > >  > >
>  > >  > >                                             throws WSDLException
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  > >  > >
>  > >  > > +        //TODO use extension architecture aka WSDL4J
>  > >  > >
>  > >  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schemaImport.setNamespace(
>  > >  > >
>  > >  > > -            DOMUtils.getAttribute(schemaEl, Constants.
>  > ATTR_NAMESPACE));
>  > >  > >
>  > >  > > +            DOMUtils.getAttribute(importEl, Constants.
>  > ATTR_NAMESPACE));
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          schemaImport.setSchemaLocation(
>  > >  > >
>  > >  > > -            DOMUtils.getAttribute(schemaEl,
>  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >  > >
>  > >  > > +            DOMUtils.getAttribute(importEl,
>  > >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >  > >
>  > >  > > +        //The DOM element representing the schema is not stored.
>  > >  > >
>  > >  > > +        //Either might be useful to an application dealing
>  > >  > >
>  > >  > > +        //with the underlying types (e.g. generator tooling).
>  > >  > >
>  > >  > > +        //So consider changing Schema so that it stores both.
>  > >  > >
>  > >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001); 
> //XML
>  > >  > Schema type system
>  > >  > >
>  > >  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API); 
> //XML
>  > >  > Schema API
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +        try {
>  > >  > >
>  > >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe
> schema
> 
>  > >  > >
>  > >  > > +           
> System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >  > >
>  > >  > > +                "org.apache.xerces.dom.
>  > DOMXSImplementationSourceImpl");
>  > >  > >
>  > >  > > +            DOMImplementationRegistry xsRegistry =
>  > >  > DOMImplementationRegistry.newInstance();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSImplementation xsImpl =
>  > >  > >
>  > >  > > +                (XSImplementation)
>  > >  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            String sloc = schemaImport.getSchemaLocation();
>  > >  > >
>  > >  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            schemaImport.setContent(xsModel);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +            /*
>  > >  > >
>  > >  > > +             * print out the schema elements
>  > >  > >
>  > >  > > +             *
>  > >  > >
>  > >  > > +            XSNamedMap xsNamedMap =
>  > >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >  > >
>  > >  > > +            System.out.println("\nImported schema elements (" +
>  > >  > xsNamedMap.getLength() +"):");
>  > >  > >
>  > >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >  > >
>  > >  > > +            {
>  > >  > >
>  > >  > > +                System.out.println(
> (xsNamedMap.item(i)).getName() );
>  > >  > >
>  > >  > > +            }
>  > >  > >
>  > >  > > +             */
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +        } catch (Exception e) {
>  > >  > >
>  > >  > > +            // TODO consider appropriate exceptions
>  > >  > >
>  > >  > > +            e.printStackTrace();
>  > >  > >
>  > >  > > +        }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >          return schemaImport;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -235,11 +358,11 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          TypesElement types = desc.createTypesElement();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > > +        //TODO for now, set to XML Schema namespace. Later,
>  > >  > >
>  > >  > > +        //add support for non-XML Schema type systems
>  > >  > >
>  > >  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>  > >  > >
>  > >  > > -
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >          while (tempEl != null)
>  > >  > >
>  > >  > >          {
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -104,6 +104,15 @@
>  > >  > >      public static final String ATTR_BINDING = "binding";
>  > >  > >
>  > >  > >      public static final String ATTR_LOCATION = "address";
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    //Type systems or content models
>  > >  > >
>  > >  > > +    public static final String TYPE_XSD_2001 =
>  > >  > >
>  > >  > > +        "http://www.w3.org/2001/XMLSchema";
>  > >  > >
>  > >  > > +    public static final String TYPE_DOM_API =
>  > >  > >
>  > >  > > +        "org.w3c.dom";
>  > >  > > 
> > >  > > +    public static final String TYPE_XS_API =
>  > >  > >
>  > >  > > +        "org.apache.xerces.xs";
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >    //TODO determine if/how these needed
>  > >  > >
>  > >  > >    public static final String ATTR_XMLNS = "xmlns";
>  > >  > >
>  > >  > >    public static final String ATTR_NAMESPACE = "namespace";
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -16,22 +16,22 @@
>  > >  > >   */
>  > >  > >
>  > >  > >  public class DocumentationImpl implements DocumentationElement {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    private Object fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.xml.
>  > DocumentationElement#setContentModel(java.lang.Object)
>  > >  > 
>  > >  > >
>  > >  > >       */ 
>  > > > >
>  > >  > > -    public void setContentModel(Object docEl)
>  > >  > >
>  > >  > > +    public void setContent(Object docEl)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        this.fContentModel = docEl;
>  > >  > >
>  > >  > > +        this.fContent = docEl;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  >
> org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > > -    public Object getContentModel()
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        return this.fContentModel;
>  > >  > >
>  > >  > > +        return this.fContent;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -21,13 +21,14 @@
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public class InterfaceImpl implements Interface, InterfaceElement
> {
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    QName fName;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
> org.apache.woden.wsdl20.Interface#getName()
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      public QName getName() {
>  > >  > >
>  > >  > > -        // TODO Auto-generated method stub
>  > >  > >
>  > >  > > -        return null;
>  > >  > >
>  > >  > > +        return fName;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -27,6 +27,7 @@
>  > >  > >  public class TypesImpl implements TypesElement {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      private DocumentationElement fDocumentation;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > >      private Map fSchemaImports = new HashMap();
>  > >  > >
>  > >  > >      private Map fSchemas = new HashMap();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > @@ -40,6 +41,16 @@
>  > >  > >      public DocumentationElement getDocumentationElement()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          return fDocumentation;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fTypeSystem;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /*
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -6,14 +6,16 @@
>  > >  > >  import
> org.apache.woden.wsdl20.extensions.Schema;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > - * A wrapper for a <xs:schema> element.
>  > >  > >
>  > >  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public class SchemaImpl implements Schema {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      private String fTargetNamespace;
>  > >  > >
>  > >  > > -    private Object fContentModel;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > > +    private String fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.extensions.
>  > Schema#setTargetNamespace(java.lang.String)
>  > >  > 
>  > >  > >
>  > >  > > @@ -30,15 +32,35 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          return fTargetNamespace;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fTypeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object schemaEl)
>  > >  > >
>  > >  > > +    public void setContentModel(String contentModel)
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > > -        fContentModel = schemaEl;
>  > >  > >
>  > >  > > +        fContentModel = contentModel;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel()
>  > >  > >
>  > >  > > +    public String getContentModel()
>  > >  > >
>  > >  > >      {
>  > >  > >
>  > >  > >          return fContentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setContent(Object schemaContent)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        fContent = schemaContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return fContent;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -6,9 +6,7 @@
>  > >  > >  import
> org.apache.woden.wsdl20.extensions.SchemaImport;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  /**
>  > >  > >
>  > >  > > - * This interface represents the XML element information item for
>  > >  > >
>  > >  > > - * a &lt;xs:import&gt; element. It declares the behaviour
> required to
>  > >  > >
>  > >  > > - * support parsing, creating and manipulating a &lt;xs:import&gt;
>  > >  > element.
>  > >  > >
>  > >  > > + * A wrapper for a &lt;xs:import&gt; element.
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > > @@ -16,6 +14,9 @@
>  > >  > >
>  > >  > >
>  > >  > >      private String fNamespace = null;
>  > >  > >
>  > >  > >      private String fSchemaLocation = null;
>  > >  > >
>  > >  > > +    private String fTypeSystem;
>  > >  > >
>  > >  > > +    private String fContentModel;
>  > >  > >
>  > >  > > +    private Object fContent;
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /* (non-Javadoc)
>  > >  > >
>  > >  > >       * @see
>  > >  > org.apache.woden.wsdl20.extensions.
>  > SchemaImport#setNamespace(java.lang.String)
>  > >  > 
>  > >  > >
>  > >  > > @@ -49,5 +50,34 @@
>  > >  > >      {
>  > >  > >
>  > >  > >          return this.fSchemaLocation;
>  > >  > >
>  > >  > >      }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fTypeSystem = typeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getTypeSystem()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fTypeSystem;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public void setContentModel(String contentModel)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fContentModel = contentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getContentModel()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fContentModel;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    public void setContent(Object importedSchemaContent)
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        this.fContent = importedSchemaContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent()
>  > >  > >
>  > >  > > +    {
>  > >  > >
>  > >  > > +        return this.fContent;
>  > >  > >
>  > >  > > +    }
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > (original)
>  > >  > > +++
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -8,21 +8,42 @@
>  > >  > >  /**
>  > >  > >
>  > >  > >   * This interface represents the ElementDeclaration 
>  > component described
>  > >  > >
>  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  > Description
>  > >  > >
>  > >  > > - * Component section). This component is used for describing
>  > the content
>  > >  > >
>  > >  > > - * of input, output and fault messages. Although it reflects an
> XML
>  > >  > >
>  > >  > > - * Schema global element declaration (&lt;xs:element&gt.), it
> does not
>  > >  > >
>  > >  > > - * impose XML Schema as the type system. Instead it returns a
> string
>  > >  > describing
>  > >  > >
>  > >  > > - * the type system being used (e.g.
> "http://www.w3.org/2001/XMLSchema
>  > "),
>  > >  > >
>  > >  > > - * which will indicate how to interpret the content model.
>  > >  > >
>  > >  > > + * Component section). An ElementDeclaration refers to an 
>  > element, such
>  > >  > as
>  > >  > >
>  > >  > > + * a global element declaration in the XML Schema type system
>  > >  > >
>  > >  > > + * (&lt;xs:element&gt.), that describes the content of WSDL
> input,
>  > >  > output
>  > >  > >
>  > >  > > + * and fault messages.  However, it does not impose XML Schema as
> the
>  > >  > type system.
>  > >  > >
>  > >  > > + * It returns a String representing the content model or type
> system
>  > >  > >
>  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
> a java.lang.Object
>  > >  > >
>  > >  > > + * representing the content of the element declaration.
> ThisObject may
> 
>  > >  > >
>  > >  > > + * be cast to a type appropriate for the content model.
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > > + * TODO consider using woden specific package style names for the
> type
>  > >  > >
>  > >  > > + * system and content model constants, so that these can be
> configured
>  > >  > or
>  > >  > >
>  > >  > > + * defaulted prior to parsing and then referred to in a 
>  > standard way via
>  > >  > the API
>  > >  > >
>  > >  > > + * (e.g.
>  > >  > >
>  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >  > >
>  > >  > > + * org.apache.woden.DOM_Content_Model,
>  > >  > >
>  > >  > > + *
> org.apache.woden.XML_Schema_API_Content_Model).
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > >  public interface ElementDeclaration {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      public QName getName();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * Indicates the type of model or API used to represent 
>  > the content.
>  > >  > >
>  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >  > >
>  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  > >  > XSElementDeclaration.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
>  > java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -13,6 +13,13 @@
>  > >  > >
>  > >  > > 
> > >  > >      public String getDirection();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Indicates the type of message content.#any means any
> single
>  > >  > element,
>  > >  > >
>  > >  > > +     * #none means no message content, #other means non-XML
> extension
>  > >  > type system
>  > >  > >
>  > >  > > +     * or #element means XML Schema global element definition.
>  > >  > >
>  > >  > > +     *
>  > >  > >
>  > >  > > +     * @return string representing the type of message content
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getMessageContentModel();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      public ElementDeclaration getElementDeclaration();
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > --- 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > (original)
>  > >  > > +++ 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >  > Tue Sep  6 07:55:53 2005
>  > >  > > @@ -8,12 +8,22 @@
>  > >  > >  /**
>  > >  > >
>  > >  > >   * This interface represents the TypeDefinition component
> described
>  > >  > >
>  > >  > >   * in the WSDL 2.0 Component Model specification (within the
>  > Description
>  > >  > >
>  > >  > > - * Component section). This component is used for
> describingsimple or
> 
>  > >  > >
>  > >  > > - * complex data types. Although it reflects an XML Schema global
> type
>  > >  > > 
>  > > > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:
>  > complexType&gt.), it does
>  > >  > not
>  > >  > >
>  > >  > > - * impose XML Schema as the type system. Instead it returns a
> string
>  > >  > describing
>  > >  > >
>  > >  > > - * the type system being used (e.g.
> "http://www.w3.org/2001/XMLSchema
>  > "),
>  > >  > >
>  > >  > > - * which will indicate how to interpret the content model.
>  > >  > >
>  > >  > > + * Component section). This component refers to simple or complex
> data
>  > >  > types
>  > >  > >
>  > >  > > + * defined in a type system such as XML Schema
>  > >  > >
>  > >  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  > >  > >
>  > >  > > + * However, it does not impose XML Schema as the type system.
>  > >  > >
>  > >  > > + * It returns a String representing the content model or type
> system
>  > >  > >
>  > >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and
> a java.lang.Object
>  > >  > >
>  > >  > > + * representing the content of the type definition. This Object
> may
>  > >  > >
>  > >  > > + * be cast to a type appropriate for the content model.
>  > >  > >
>  > >  > > + *
>  > >  > >
>  > >  > > + * TODO consider using woden specific package style names for the
> type
>  > >  > >
>  > >  > > + * system and content model constants, so that these can be
> configured
>  > >  > or
>  > >  > >
>  > >  > > + * defaulted prior to parsing and then referred to in a 
>  > standard way via
>  > >  > the API
>  > >  > >
>  > >  > > + * (e.g.
>  > >  > >
>  > >  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >  > >
>  > >  > > + * org.apache.woden.DOM_Content_Model,
>  > >  > >
>  > >  > > + *
> org.apache.woden.XML_Schema_API_Content_Model).
>  > >  > >
>  > >  > >   *
>  > >  > >
>  > >  > >   * @author jkaputin@apache.org
>  > >  > >
>  > >  > >   */
>  > >  > >
>  > >  > > @@ -21,8 +31,18 @@
>  > >  > >
>  > >  > >
>  > >  > >      public QName getName();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    /*
>  > >  > >
>  > >  > > +     * Indicates the type of model or API used to represent 
>  > the content.
>  > >  > >
>  > >  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >  > >
>  > >  > > +     * "org.apache.xerces.xs" for an XML Schema API
> XSTypeDefinition.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >  > (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> Tue
>  > >  > Sep  6 07:55:53 2005
>  > >  > > @@ -17,8 +17,10 @@
>  > >  > >
>  > >  > >
>  > >  > >      public String getTargetNamespace();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object schemaEl);
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -20,4 +20,9 @@
>  > >  > >
>  > >  > >
>  > >  > >      public String getSchemaLocation();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public String getContentModel();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  > 
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  >  (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > >  >  Tue Sep  6 07:55:53 2005
>  > >  > > @@ -13,7 +13,7 @@
>  > >  > >   */
>  > >  > >
>  > >  > >  public interface DocumentationElement extends WSDL20Element {
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public void setContentModel(Object docEl);
>  > >  > >
>  > >  > > +    public void setContent(Object docEl);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > -    public Object getContentModel();
>  > >  > >
>  > >  > > +    public Object getContent();
>  > >  > >
>  > >  > >  }
>  > >  > >
>  > >  > >
>  > >  > > Modified:
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > > URL:
>  > >  > http://svn.apache.
>  >
> org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.
>  > java?rev=279015&r1=279014&r2=279015&view=diff
>  > >  > 
>  > >  > >
>  > >  > 
>  >
> ==============================================================================
>  > >  > 
>  > >  > > ---
>  > >  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >  > (original)
>  > >  > > +++
>  > >  > 
>  >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> Tue
>  > >  > Sep  6 07:55:53 2005
>  > >  > > @@ -31,19 +31,37 @@
>  > >  > >
>  > >  > >
>  > >  > >      public DocumentationElement getDocumentationElement();
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Indicate the type system used within the &lt;types&gt;
>  > >  > >
>  > >  > > +     * element. Typically the XML Schema type system will be
>  > >  > >
>  > >  > > +     * used, represented by the XML Schema namespace
>  > >  > >
>  > >  > > +     * "http://www.w3.org/2001/XMLSchema".
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public void setTypeSystem(String typeSystem);
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Get the string indicating the type system used within the
>  > >  > &lt;types&gt;
>  > >  > >
>  > >  > > +     * element.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > > +    public String getTypeSystem();
>  > >  > >
>  > >  > > +
>  > >  > >
>  > >  > >      /*
>  > >  > >
>  > >  > >       * Schema imports &lt;xs:import&gt; are stored in a Map of
>  > >  > SchemaImport[]
>  > >  > >
>  > >  > >       * keyed by namespace. The schemaLocation attribute will
>  > distinguish
>  > >  > >
>  > >  > >       * schemas imported with the same namespace.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > > +    /**
>  > >  > >
>  > >  > > +     * Add a SchemaImport to the schemas imported within the
>  > >  > &lt;types&gt; element.
>  > >  > >
>  > >  > > +     */
>  > >  > >
>  > >  > >      public void addSchemaImport(SchemaImport schemaImport);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      //TODO what if schemaLoc is null and there is more than one
> import
>  > >  > for this namespace?
>  > >  > >
>  > >  > >      //Delete all or raise an error?
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >      /**
>  > >  > >
>  > >  > > -     * Add a SchemaImport to the schemas imported within the
>  > >  > &lt;types&gt; element.
>  > >  > >
>  > >  > > +     * Remove a SchemaImport from the list of schemas imported
>  > >  > >
>  > >  > > +     * within the &lt;types&gt; element.
>  > >  > >
>  > >  > >       */
>  > >  > >
>  > >  > >      public void removeSchemaImport(String namespace, String 
>  > schemaLoc);
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
>  > >  > >
> ---------------------------------------------------------------------
>  > >  > > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > >
>  > >  > >
>  > >  > 
>  > >  > 
>  > >  > --
>  > >  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web 
>  > Service Platform
>  > >  > 
>  > >  >
> ---------------------------------------------------------------------
>  > >  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  > 
>  > >  >
> ---------------------------------------------------------------------
>  > >  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  > 
>  > >  > 
>  > >  
>  > >  
>  > >  -- 
>  > >  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service
> Platform
>  > >  
>  > > 
> ---------------------------------------------------------------------
>  > >  To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > >  For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >  
>  > >   
>  > >  
>  > 
>  > 
>  > 
>  > -- 
>  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service
> Platform
>  > 
>  >
> ---------------------------------------------------------------------
>  > To unsubscribe, e-mail:
> woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
>  


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Lawrence Mandel <lm...@ca.ibm.com>.
Dims,

Thanks for the reply. There were two concerns I had with making changes:

1) there was already a plan to make the change at some point
2) I didn't know how the common code is picked up and didn't want to break 
an Axis2 build

and you've answered both of those questions. Thanks again.

Do you know if any other components reuse this code at this point? If so 
I'd like to notify them of any changes as well.


Lawrence




Davanum Srinivas <da...@gmail.com> 
09/09/2005 12:52 PM
Please respond to
woden-dev


To
woden-dev@ws.apache.org
cc

Subject
Re: (Re: svn commit: r279015 - in 
/incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ 
internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)






Lawrence,

All WS folks (includes You :) have privileges to modify the code.
Please feel free to make any changes including package names . Please
cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
code in Axis2. We upload snapshots right now into a private maven repo
that Axis2 build picks up. I can update that snapshot regularly if
needed.

thanks,
dims

On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
> 
> Hi Dims, 
> 
> Is XmlSchema packaged as a separate distro that is picked up by Axis2 or 
does Axis 2 grab and compile the source? 
> 
> I see that the package name for XmlSchema contains 'axis'. Is there a 
plan to change the package name now that XmlSchema is a common WS 
component? Do any other WS components use XmlSchema at this point or has 
it simply been made common so other components can use it? 
> 
>  Lawrence Mandel
> 
>  Software Developer
>  IBM Rational Software
>  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  lmandel@ca.ibm.com 
> 
> 
> 
>  Davanum Srinivas <da...@gmail.com> 
> 
> 09/08/2005 11:57 AM 
> 
> Please respond to
>  woden-dev 
> 
> 
> To woden-dev@ws.apache.org 
> 
> cc 
> 
> 
> Subject Re: (Re: svn commit: r279015 - in 
/incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ 
internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/) 
> 
> 
> 
> 
> 
> 
> 
> It's used in Axis2 (Please use the SchemaBuilder -
>  
http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
)
> 
>  -- dims
> 
>  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  > Dims,
>  > I've been looking without success for info or code samples on using
>  > XmlSchema. e.g. the programming model for creating an XmlSchema 
object.
>  > Searched the java source in CVS ws-axis and SVN axis for
>  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any 
references. Is
>  > it being used yet?
>  > 
>  > 
>  > John Kaputin
>  > 
>  > 
>  > 
>  > 
>  >              Davanum Srinivas
>  >              <davanum@gmail.co
>  >              m>   To
>  >                                        woden-dev@ws.apache.org
>  >              06/09/2005 16:06   cc
>  > 
>  > Subject
>  >              Please respond to         (Re: svn commit: r279015 - in
>  >                  woden-dev /incubator/woden/java/src/org/apach
>  >                                        e/woden: internal/ 
internal/wsdl20/
>  >                                        internal/wsdl20/extensions/ 
wsdl20/
>  >                                        wsdl20/extensions/ 
wsdl20/xml/)
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > John,
>  > 
>  > Could we please use XmlSchema?
>  > (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/
)
>  > 
>  > That way we are not stuck to a specifc version of Xerces.
>  > 
>  > -- dims
>  > 
>  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  > > Author: jkaputin
>  > > Date: Tue Sep  6 07:55:53 2005
>  > > New Revision: 279015
>  > >
>  > > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
>  > > Log:
>  > > Added DOM parsing of schema and schema import using XML
>  > >
>  > > Schema API (XSModel) to access element and types.
>  > >
>  > > Modified:
>  > > 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  > 
>  > > 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > 
>  > >
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > --- 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > (original)
>  > > +++ 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -27,6 +27,18 @@
>  > >  import org.xml.sax.InputSource;
>  > >
>  > >  import org.xml.sax.SAXException;
>  > >
>  > >
>  > >
>  > > +//JK temporary imports (pending TODOs)
>  > >
>  > > +
>  > >
>  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  > >
>  > > +
>  > >
>  > > +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  > >
>  > > +import org.apache.xerces.xs.XSImplementation;
>  > >
>  > > +import org.apache.xerces.xs.XSLoader;
>  > >
>  > > +import org.apache.xerces.xs.XSModel;
>  > >
>  > > +
>  > >
>  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  > >
>  > > +import org.w3c.dom.ls.LSInput;
>  > >
>  > > +
>  > >
>  > >  import temp.WSDLException;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > @@ -164,7 +176,7 @@
>  > > DescriptionElement
>  > desc)
>  > >
>  > >      {
>  > >
>  > >          DocumentationElement documentation =
>  > desc.createDocumentationElement();
>  > >
>  > > -        documentation.setContentModel(docEl);
>  > >
>  > > +        documentation.setContent(docEl);
>  > >
>  > >          return documentation;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -189,18 +201,81 @@
>  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >
>  > >       * Need generic support for other type systems.
>  > >
>  > >       * Consider extension architecture with 
serializer/deserializer.
>  > >
>  > > +     *
>  > >
>  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to 
represent
>  > >
>  > > +     * schema and parse elements and types. This will create a 
Xerces
>  > >
>  > > +     * parser dependency on the Woden DOM implementation (rather 
than
>  > >
>  > > +     * just a JAXP/SAX/DOM API dependency). To be considered 
further.
>  > >
>  > >       */
>  > >
>  > >      private Schema parseSchemaInline(Element schemaEl,
>  > >
>  > >                                       TypesElement desc)
>  > >
>  > >                                       throws WSDLException
>  > >
>  > >      {
>  > >
>  > > -        Schema schema = new SchemaImpl();
>  > >
>  > > +        SchemaImpl schema = new SchemaImpl();
>  > >
>  > >
>  > >
>  > >          schema.setTargetNamespace(
>  > >
>  > >              DOMUtils.getAttribute(schemaEl,
>  > Constants.ATTR_TARGET_NAMESPACE));
>  > >
>  > >
>  > >
>  > > -        schema.setContentModel(schemaEl);
>  > >
>  > > +        //TODO the type system will depend on the WSDL doc so 
consider
>  > >
>  > > +        //parameterizing it. Fixed with an XML Schema constant for 
now.
>  > >
>  > > +
>  > >
>  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML 
Schema
>  > type system
>  > >
>  > > +        schema.setContentModel(Constants.TYPE_XS_API);  //XML 
Schema API
>  > >
>  > >
>  > >
>  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >
>  > > +        //The DOM element representing the schema is not stored.
>  > >
>  > > +        //Either might be useful to an application dealing
>  > >
>  > > +        //with the underlying types (e.g. generator tooling).
>  > >
>  > > +        //So consider changing Schema so that it stores both.
>  > >
>  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >
>  > > +
>  > >
>  > > +        try {
>  > >
>  > > +            //create an LSInput object to hold the schema string
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > + "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry domRegistry =
>  > >
>  > > +                DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            DOMImplementationLS domImpl =
>  > >
>  > > +
>  > (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  > >
>  > > +
>  > >
>  > > +            LSInput lsInput = domImpl.createLSInput();
>  > >
>  > > +
>  > >
>  > > +            //store the schema as a string in the LSInput
>  > >
>  > > +            String schemaString = 
DOM2Writer.nodeToString(schemaEl);
>  > >
>  > > +            System.out.println(schemaString);
>  > >
>  > > +            lsInput.setStringData(schemaString);
>  > >
>  > > +
>  > >
>  > > +            //Use DOM level 3 bootstrap to get an XSModel of the 
schema
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > + "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry xsRegistry =
>  > DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            XSImplementation xsImpl =
>  > >
>  > > +                (XSImplementation)
>  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >
>  > > +
>  > >
>  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >
>  > > +
>  > >
>  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  > >
>  > > +
>  > >
>  > > +            schema.setContent(xsModel);
>  > >
>  > > +
>  > >
>  > > +            /*
>  > >
>  > > +             * print out the schema elements
>  > >
>  > > +             *
>  > >
>  > > +            XSNamedMap xsNamedMap =
>  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >
>  > > +            System.out.println("\nInline schema elements (" +
>  > xsNamedMap.getLength() +"):");
>  > >
>  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >
>  > > +            {
>  > >
>  > > +                System.out.println( (xsNamedMap.item(i)).getName() 
);
>  > >
>  > > +            }
>  > >
>  > > +             */
>  > >
>  > > +
>  > >
>  > > +        } catch (Exception e) {
>  > >
>  > > +            // TODO consider appropriate exceptions
>  > >
>  > > +            e.printStackTrace();
>  > >
>  > > +        }
>  > >
>  > > +
>  > >
>  > >          return schema;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -208,19 +283,67 @@
>  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >
>  > >       * Need generic support for other type systems.
>  > >
>  > >       * Consider extension architecture with 
serializer/deserializer.
>  > >
>  > > +     *
>  > >
>  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to 
represent
>  > >
>  > > +     * schema and parse elements and types. This will create a 
Xerces
>  > >
>  > > +     * parser dependency on the Woden DOM implementation (rather 
than
>  > >
>  > > +     * just a JAXP/SAX/DOM API dependency). To be considered 
further.
>  > >
>  > >       */
>  > >
>  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  > >
>  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  > >
>  > >                                             TypesElement types)
>  > >
>  > >                                             throws WSDLException
>  > >
>  > >      {
>  > >
>  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  > >
>  > > +        //TODO use extension architecture aka WSDL4J
>  > >
>  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>  > >
>  > >
>  > >
>  > >          schemaImport.setNamespace(
>  > >
>  > > -            DOMUtils.getAttribute(schemaEl, 
Constants.ATTR_NAMESPACE));
>  > >
>  > > +            DOMUtils.getAttribute(importEl, 
Constants.ATTR_NAMESPACE));
>  > >
>  > >
>  > >
>  > >          schemaImport.setSchemaLocation(
>  > >
>  > > -            DOMUtils.getAttribute(schemaEl,
>  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >
>  > > +            DOMUtils.getAttribute(importEl,
>  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >
>  > > +
>  > >
>  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >
>  > > +        //The DOM element representing the schema is not stored.
>  > >
>  > > +        //Either might be useful to an application dealing
>  > >
>  > > +        //with the underlying types (e.g. generator tooling).
>  > >
>  > > +        //So consider changing Schema so that it stores both.
>  > >
>  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >
>  > > +
>  > >
>  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001); //XML
>  > Schema type system
>  > >
>  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API); //XML
>  > Schema API
>  > >
>  > >
>  > >
>  > > +        try {
>  > >
>  > > +            //Use DOM level 3 bootstrap to get an XSModel of the 
schema
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > + "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry xsRegistry =
>  > DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            XSImplementation xsImpl =
>  > >
>  > > +                (XSImplementation)
>  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >
>  > > +
>  > >
>  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >
>  > > +
>  > >
>  > > +            String sloc = schemaImport.getSchemaLocation();
>  > >
>  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  > >
>  > > +
>  > >
>  > > +            schemaImport.setContent(xsModel);
>  > >
>  > > +
>  > >
>  > > +            /*
>  > >
>  > > +             * print out the schema elements
>  > >
>  > > +             *
>  > >
>  > > +            XSNamedMap xsNamedMap =
>  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >
>  > > +            System.out.println("\nImported schema elements (" +
>  > xsNamedMap.getLength() +"):");
>  > >
>  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >
>  > > +            {
>  > >
>  > > +                System.out.println( (xsNamedMap.item(i)).getName() 
);
>  > >
>  > > +            }
>  > >
>  > > +             */
>  > >
>  > > +
>  > >
>  > > +        } catch (Exception e) {
>  > >
>  > > +            // TODO consider appropriate exceptions
>  > >
>  > > +            e.printStackTrace();
>  > >
>  > > +        }
>  > >
>  > > +
>  > >
>  > >          return schemaImport;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -235,11 +358,11 @@
>  > >      {
>  > >
>  > >          TypesElement types = desc.createTypesElement();
>  > >
>  > >
>  > >
>  > > -
>  > >
>  > > -
>  > >
>  > > +        //TODO for now, set to XML Schema namespace. Later,
>  > >
>  > > +        //add support for non-XML Schema type systems
>  > >
>  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  > >
>  > >
>  > >
>  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>  > >
>  > > -
>  > >
>  > >
>  > >
>  > >          while (tempEl != null)
>  > >
>  > >          {
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -104,6 +104,15 @@
>  > >      public static final String ATTR_BINDING = "binding";
>  > >
>  > >      public static final String ATTR_LOCATION = "address";
>  > >
>  > >
>  > >
>  > > +    //Type systems or content models
>  > >
>  > > +    public static final String TYPE_XSD_2001 =
>  > >
>  > > +        "http://www.w3.org/2001/XMLSchema";
>  > >
>  > > +    public static final String TYPE_DOM_API =
>  > >
>  > > +        "org.w3c.dom";
>  > >
>  > > +    public static final String TYPE_XS_API =
>  > >
>  > > +        "org.apache.xerces.xs";
>  > >
>  > > +
>  > >
>  > > +
>  > >
>  > >    //TODO determine if/how these needed
>  > >
>  > >    public static final String ATTR_XMLNS = "xmlns";
>  > >
>  > >    public static final String ATTR_NAMESPACE = "namespace";
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -16,22 +16,22 @@
>  > >   */
>  > >
>  > >  public class DocumentationImpl implements DocumentationElement {
>  > >
>  > >
>  > >
>  > > -    private Object fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > 
org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
>  > 
>  > >
>  > >       */ 
> > >
>  > > -    public void setContentModel(Object docEl)
>  > >
>  > > +    public void setContent(Object docEl)
>  > >
>  > >      {
>  > >
>  > > -        this.fContentModel = docEl;
>  > >
>  > > +        this.fContent = docEl;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  > >
>  > >       */
>  > >
>  > > -    public Object getContentModel()
>  > >
>  > > +    public Object getContent()
>  > >
>  > >      {
>  > >
>  > > -        return this.fContentModel;
>  > >
>  > > +        return this.fContent;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -21,13 +21,14 @@
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public class InterfaceImpl implements Interface, InterfaceElement 
{
>  > >
>  > > +
>  > >
>  > > +    QName fName;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see org.apache.woden.wsdl20.Interface#getName()
>  > >
>  > >       */
>  > >
>  > >      public QName getName() {
>  > >
>  > > -        // TODO Auto-generated method stub
>  > >
>  > > -        return null;
>  > >
>  > > +        return fName;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -27,6 +27,7 @@
>  > >  public class TypesImpl implements TypesElement {
>  > >
>  > >
>  > >
>  > >      private DocumentationElement fDocumentation;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > >      private Map fSchemaImports = new HashMap();
>  > >
>  > >      private Map fSchemas = new HashMap();
>  > >
>  > >
>  > >
>  > > @@ -40,6 +41,16 @@
>  > >      public DocumentationElement getDocumentationElement()
>  > >
>  > >      {
>  > >
>  > >          return fDocumentation;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return fTypeSystem;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /*
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -6,14 +6,16 @@
>  > >  import org.apache.woden.wsdl20.extensions.Schema;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > - * A wrapper for a <xs:schema> element.
>  > >
>  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public class SchemaImpl implements Schema {
>  > >
>  > >
>  > >
>  > >      private String fTargetNamespace;
>  > >
>  > > -    private Object fContentModel;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > > +    private String fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > 
org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
>  > 
>  > >
>  > > @@ -30,15 +32,35 @@
>  > >      {
>  > >
>  > >          return fTargetNamespace;
>  > >
>  > >      }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return fTypeSystem;
>  > >
>  > > +    }
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object schemaEl)
>  > >
>  > > +    public void setContentModel(String contentModel)
>  > >
>  > >      {
>  > >
>  > > -        fContentModel = schemaEl;
>  > >
>  > > +        fContentModel = contentModel;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel()
>  > >
>  > > +    public String getContentModel()
>  > >
>  > >      {
>  > >
>  > >          return fContentModel;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setContent(Object schemaContent)
>  > >
>  > > +    {
>  > >
>  > > +        fContent = schemaContent;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public Object getContent()
>  > >
>  > > +    {
>  > >
>  > > +        return fContent;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -6,9 +6,7 @@
>  > >  import org.apache.woden.wsdl20.extensions.SchemaImport;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > - * This interface represents the XML element information item for
>  > >
>  > > - * a &lt;xs:import&gt; element. It declares the behaviour required 
to
>  > >
>  > > - * support parsing, creating and manipulating a &lt;xs:import&gt;
>  > element.
>  > >
>  > > + * A wrapper for a &lt;xs:import&gt; element.
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > > @@ -16,6 +14,9 @@
>  > >
>  > >
>  > >      private String fNamespace = null;
>  > >
>  > >      private String fSchemaLocation = null;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > > +    private String fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > 
org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
>  > 
>  > >
>  > > @@ -49,5 +50,34 @@
>  > >      {
>  > >
>  > >          return this.fSchemaLocation;
>  > >
>  > >      }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        this.fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fTypeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setContentModel(String contentModel)
>  > >
>  > > +    {
>  > >
>  > > +        this.fContentModel = contentModel;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getContentModel()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fContentModel;
>  > >
>  > > +    }
>  > >
>  > >
>  > >
>  > > +    public void setContent(Object importedSchemaContent)
>  > >
>  > > +    {
>  > >
>  > > +        this.fContent = importedSchemaContent;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public Object getContent()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fContent;
>  > >
>  > > +    }
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -8,21 +8,42 @@
>  > >  /**
>  > >
>  > >   * This interface represents the ElementDeclaration component 
described
>  > >
>  > >   * in the WSDL 2.0 Component Model specification (within the 
Description
>  > >
>  > > - * Component section). This component is used for describing the 
content
>  > >
>  > > - * of input, output and fault messages. Although it reflects an 
XML
>  > >
>  > > - * Schema global element declaration (&lt;xs:element&gt.), it does 
not
>  > >
>  > > - * impose XML Schema as the type system. Instead it returns a 
string
>  > describing
>  > >
>  > > - * the type system being used (e.g. "
http://www.w3.org/2001/XMLSchema"),
>  > >
>  > > - * which will indicate how to interpret the content model.
>  > >
>  > > + * Component section). An ElementDeclaration refers to an element, 
such
>  > as
>  > >
>  > > + * a global element declaration in the XML Schema type system
>  > >
>  > > + * (&lt;xs:element&gt.), that describes the content of WSDL input,
>  > output
>  > >
>  > > + * and fault messages.  However, it does not impose XML Schema as 
the
>  > type system.
>  > >
>  > > + * It returns a String representing the content model or type 
system
>  > >
>  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a 
java.lang.Object
>  > >
>  > > + * representing the content of the element declaration. This 
Object may
>  > >
>  > > + * be cast to a type appropriate for the content model.
>  > >
>  > > + *
>  > >
>  > > + * TODO consider using woden specific package style names for the 
type
>  > >
>  > > + * system and content model constants, so that these can be 
configured
>  > or
>  > >
>  > > + * defaulted prior to parsing and then referred to in a standard 
way via
>  > the API
>  > >
>  > > + * (e.g.
>  > >
>  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >
>  > > + * org.apache.woden.DOM_Content_Model,
>  > >
>  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  > >
>  > >   *
>  > >
>  > > + *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public interface ElementDeclaration {
>  > >
>  > >
>  > >
>  > >      public QName getName();
>  > >
>  > >
>  > >
>  > > +    /*
>  > >
>  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >
>  > > +     */
>  > >
>  > >      public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    /*
>  > >
>  > > +     * Indicates the type of model or API used to represent the 
content.
>  > >
>  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >
>  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  > XSElementDeclaration.
>  > >
>  > > +     */
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -13,6 +13,13 @@
>  > >
>  > >
>  > >      public String getDirection();
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Indicates the type of message content.#any means any single
>  > element,
>  > >
>  > > +     * #none means no message content, #other means non-XML 
extension
>  > type system
>  > >
>  > > +     * or #element means XML Schema global element definition.
>  > >
>  > > +     *
>  > >
>  > > +     * @return string representing the type of message content
>  > >
>  > > +     */
>  > >
>  > >      public String getMessageContentModel();
>  > >
>  > >
>  > >
>  > >      public ElementDeclaration getElementDeclaration();
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > --- 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > (original)
>  > > +++ 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -8,12 +8,22 @@
>  > >  /**
>  > >
>  > >   * This interface represents the TypeDefinition component 
described
>  > >
>  > >   * in the WSDL 2.0 Component Model specification (within the 
Description
>  > >
>  > > - * Component section). This component is used for describing 
simple or
>  > >
>  > > - * complex data types. Although it reflects an XML Schema global 
type
>  > > 
> > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it 
does
>  > not
>  > >
>  > > - * impose XML Schema as the type system. Instead it returns a 
string
>  > describing
>  > >
>  > > - * the type system being used (e.g. "
http://www.w3.org/2001/XMLSchema"),
>  > >
>  > > - * which will indicate how to interpret the content model.
>  > >
>  > > + * Component section). This component refers to simple or complex 
data
>  > types
>  > >
>  > > + * defined in a type system such as XML Schema
>  > >
>  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  > >
>  > > + * However, it does not impose XML Schema as the type system.
>  > >
>  > > + * It returns a String representing the content model or type 
system
>  > >
>  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a 
java.lang.Object
>  > >
>  > > + * representing the content of the type definition. This Object 
may
>  > >
>  > > + * be cast to a type appropriate for the content model.
>  > >
>  > > + *
>  > >
>  > > + * TODO consider using woden specific package style names for the 
type
>  > >
>  > > + * system and content model constants, so that these can be 
configured
>  > or
>  > >
>  > > + * defaulted prior to parsing and then referred to in a standard 
way via
>  > the API
>  > >
>  > > + * (e.g.
>  > >
>  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >
>  > > + * org.apache.woden.DOM_Content_Model,
>  > >
>  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > > @@ -21,8 +31,18 @@
>  > >
>  > >
>  > >      public QName getName();
>  > >
>  > >
>  > >
>  > > +    /*
>  > >
>  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >
>  > > +     */
>  > >
>  > >      public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    /*
>  > >
>  > > +     * Indicates the type of model or API used to represent the 
content.
>  > >
>  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >
>  > > +     * "org.apache.xerces.xs" for an XML Schema API 
XSTypeDefinition.
>  > >
>  > > +     */
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java 
Tue
>  > Sep  6 07:55:53 2005
>  > > @@ -17,8 +17,10 @@
>  > >
>  > >
>  > >      public String getTargetNamespace();
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object schemaEl);
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -20,4 +20,9 @@
>  > >
>  > >
>  > >      public String getSchemaLocation();
>  > >
>  > >
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > > +
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > 
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -13,7 +13,7 @@
>  > >   */
>  > >
>  > >  public interface DocumentationElement extends WSDL20Element {
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object docEl);
>  > >
>  > > +    public void setContent(Object docEl);
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    public Object getContent();
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > > URL:
>  > 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff

>  > 
>  > >
>  > 
==============================================================================
>  > 
>  > > ---
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > (original)
>  > > +++
>  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue
>  > Sep  6 07:55:53 2005
>  > > @@ -31,19 +31,37 @@
>  > >
>  > >
>  > >      public DocumentationElement getDocumentationElement();
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Indicate the type system used within the &lt;types&gt;
>  > >
>  > > +     * element. Typically the XML Schema type system will be
>  > >
>  > > +     * used, represented by the XML Schema namespace
>  > >
>  > > +     * "http://www.w3.org/2001/XMLSchema".
>  > >
>  > > +     */
>  > >
>  > > +    public void setTypeSystem(String typeSystem);
>  > >
>  > > +
>  > >
>  > > +    /**
>  > >
>  > > +     * Get the string indicating the type system used within the
>  > &lt;types&gt;
>  > >
>  > > +     * element.
>  > >
>  > > +     */
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > > +
>  > >
>  > >      /*
>  > >
>  > >       * Schema imports &lt;xs:import&gt; are stored in a Map of
>  > SchemaImport[]
>  > >
>  > >       * keyed by namespace. The schemaLocation attribute will 
distinguish
>  > >
>  > >       * schemas imported with the same namespace.
>  > >
>  > >       */
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Add a SchemaImport to the schemas imported within the
>  > &lt;types&gt; element.
>  > >
>  > > +     */
>  > >
>  > >      public void addSchemaImport(SchemaImport schemaImport);
>  > >
>  > >
>  > >
>  > >      //TODO what if schemaLoc is null and there is more than one 
import
>  > for this namespace?
>  > >
>  > >      //Delete all or raise an error?
>  > >
>  > >
>  > >
>  > >      /**
>  > >
>  > > -     * Add a SchemaImport to the schemas imported within the
>  > &lt;types&gt; element.
>  > >
>  > > +     * Remove a SchemaImport from the list of schemas imported
>  > >
>  > > +     * within the &lt;types&gt; element.
>  > >
>  > >       */
>  > >
>  > >      public void removeSchemaImport(String namespace, String 
schemaLoc);
>  > >
>  > >
>  > >
>  > >
>  > >
>  > >
>  > > 
---------------------------------------------------------------------
>  > > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >
>  > >
>  > 
>  > 
>  > --
>  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service 
Platform
>  > 
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
>  > 
>  > 
>  > 
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
>  > 
> 
> 
>  -- 
>  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service 
Platform
> 
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 
> 



-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org



Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Lawrence Mandel <lm...@ca.ibm.com>.
Dims,

You said you upload the snapshots to a private maven repo. Is that an Axis 
private repo that Woden can access? If so, can you tell me where the repo 
is located?

Thanks,

Lawrence 


Davanum Srinivas <da...@gmail.com> wrote on 09/09/2005 12:52:00 PM:

> Lawrence,
> 
> All WS folks (includes You :) have privileges to modify the code.
> Please feel free to make any changes including package names . Please
> cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
> code in Axis2. We upload snapshots right now into a private maven repo
> that Axis2 build picks up. I can update that snapshot regularly if
> needed.
> 
> thanks,
> dims
> 
> On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
> > 
> > Hi Dims, 
> > 
> > Is XmlSchema packaged as a separate distro that is picked up by 
> Axis2 or does Axis 2 grab and compile the source? 
> > 
> > I see that the package name for XmlSchema contains 'axis'. Is 
> there a plan to change the package name now that XmlSchema is a 
> common WS component? Do any other WS components use XmlSchema at 
> this point or has it simply been made common so other components can use 
it? 
> > 
> >  Lawrence Mandel
> > 
> >  Software Developer
> >  IBM Rational Software
> >  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
> >  lmandel@ca.ibm.com 
> > 
> > 
> > 
> >  Davanum Srinivas <da...@gmail.com> 
> > 
> > 09/08/2005 11:57 AM 
> > 
> > Please respond to
> >  woden-dev 
> > 
> > 
> > To woden-dev@ws.apache.org 
> > 
> > cc 
> > 
> > 
> > Subject Re: (Re: svn commit: r279015 - in 
> /incubator/woden/java/src/org/apache/woden: internal/ 
> internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ 
> wsdl20/extensions/ wsdl20/xml/) 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > It's used in Axis2 (Please use the SchemaBuilder -
> >  http://svn.apache.
> 
org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.
> java)
> > 
> >  -- dims
> > 
> >  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
> >  > Dims,
> >  > I've been looking without success for info or code samples on using
> >  > XmlSchema. e.g. the programming model for creating an XmlSchema 
object.
> >  > Searched the java source in CVS ws-axis and SVN axis for
> >  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any 
> references. Is
> >  > it being used yet?
> >  > 
> >  > 
> >  > John Kaputin
> >  > 
> >  > 
> >  > 
> >  > 
> >  >              Davanum Srinivas
> >  >              <davanum@gmail.co
> >  >              m>   To
> >  >                                        woden-dev@ws.apache.org
> >  >              06/09/2005 16:06   cc
> >  > 
> >  > Subject
> >  >              Please respond to         (Re: svn commit: r279015 - 
in
> >  >                  woden-dev 
> /incubator/woden/java/src/org/apach
> >  >                                        e/woden: internal/ 
> internal/wsdl20/
> >  > 
> internal/wsdl20/extensions/ wsdl20/
> >  >                                        wsdl20/extensions/ 
wsdl20/xml/)
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
> >  > John,
> >  > 
> >  > Could we please use XmlSchema?
> >  > 
(http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
> >  > 
> >  > That way we are not stuck to a specifc version of Xerces.
> >  > 
> >  > -- dims
> >  > 
> >  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
> >  > > Author: jkaputin
> >  > > Date: Tue Sep  6 07:55:53 2005
> >  > > New Revision: 279015
> >  > >
> >  > > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
> >  > > Log:
> >  > > Added DOM parsing of schema and schema import using XML
> >  > >
> >  > > Schema API (XSModel) to access element and types.
> >  > >
> >  > > Modified:
> >  > > 
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >  > >
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
> java
> >  > 
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> >  > 
> >  > >
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
> java
> >  > 
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
> java
> >  > 
> >  > >
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
> java
> >  > 
> >  > > 
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >  > >
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> >  > 
> >  > >
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> >  > 
> >  > >
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > --- 
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >  > (original)
> >  > > +++ 
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >  > Tue Sep  6 07:55:53 2005
> >  > > @@ -27,6 +27,18 @@
> >  > >  import org.xml.sax.InputSource;
> >  > >
> >  > >  import org.xml.sax.SAXException;
> >  > >
> >  > >
> >  > >
> >  > > +//JK temporary imports (pending TODOs)
> >  > >
> >  > > +
> >  > >
> >  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
> >  > >
> >  > > +
> >  > >
> >  > > +import 
org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
> >  > >
> >  > > +import org.apache.xerces.xs.XSImplementation;
> >  > >
> >  > > +import org.apache.xerces.xs.XSLoader;
> >  > >
> >  > > +import org.apache.xerces.xs.XSModel;
> >  > >
> >  > > +
> >  > >
> >  > > +import org.w3c.dom.ls.DOMImplementationLS;
> >  > >
> >  > > +import org.w3c.dom.ls.LSInput;
> >  > >
> >  > > +
> >  > >
> >  > >  import temp.WSDLException;
> >  > >
> >  > >
> >  > >
> >  > >  /**
> >  > >
> >  > > @@ -164,7 +176,7 @@
> >  > > DescriptionElement
> >  > desc)
> >  > >
> >  > >      {
> >  > >
> >  > >          DocumentationElement documentation =
> >  > desc.createDocumentationElement();
> >  > >
> >  > > -        documentation.setContentModel(docEl);
> >  > >
> >  > > +        documentation.setContent(docEl);
> >  > >
> >  > >          return documentation;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > > @@ -189,18 +201,81 @@
> >  > >       * TODO Initial schema parsing is specific to XML Schema.
> >  > >
> >  > >       * Need generic support for other type systems.
> >  > >
> >  > >       * Consider extension architecture with 
serializer/deserializer.
> >  > >
> >  > > +     *
> >  > >
> >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to 
represent
> >  > >
> >  > > +     * schema and parse elements and types. This will create a 
Xerces
> >  > >
> >  > > +     * parser dependency on the Woden DOM implementation (rather 
than
> >  > >
> >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered 
further.
> >  > >
> >  > >       */
> >  > >
> >  > >      private Schema parseSchemaInline(Element schemaEl,
> >  > >
> >  > >                                       TypesElement desc)
> >  > >
> >  > >                                       throws WSDLException
> >  > >
> >  > >      {
> >  > >
> >  > > -        Schema schema = new SchemaImpl();
> >  > >
> >  > > +        SchemaImpl schema = new SchemaImpl();
> >  > >
> >  > >
> >  > >
> >  > >          schema.setTargetNamespace(
> >  > >
> >  > >              DOMUtils.getAttribute(schemaEl,
> >  > Constants.ATTR_TARGET_NAMESPACE));
> >  > >
> >  > >
> >  > >
> >  > > -        schema.setContentModel(schemaEl);
> >  > >
> >  > > +        //TODO the type system will depend on the WSDL doc so 
consider
> >  > >
> >  > > +        //parameterizing it. Fixed with an XML Schema 
> constant for now.
> >  > >
> >  > > +
> >  > >
> >  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML 
Schema
> >  > type system
> >  > >
> >  > > +        schema.setContentModel(Constants.TYPE_XS_API); 
> //XML Schema API
> >  > >
> >  > >
> >  > >
> >  > > +        //TODO currently only the XSModel is stored in Schema.
> >  > >
> >  > > +        //The DOM element representing the schema is not stored.
> >  > >
> >  > > +        //Either might be useful to an application dealing
> >  > >
> >  > > +        //with the underlying types (e.g. generator tooling).
> >  > >
> >  > > +        //So consider changing Schema so that it stores both.
> >  > >
> >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
> >  > >
> >  > > +
> >  > >
> >  > > +        try {
> >  > >
> >  > > +            //create an LSInput object to hold the schema string
> >  > >
> >  > > + System.setProperty(DOMImplementationRegistry.PROPERTY,
> >  > >
> >  > > + "org.apache.xerces.dom.DOMImplementationSourceImpl");
> >  > >
> >  > > +            DOMImplementationRegistry domRegistry =
> >  > >
> >  > > +                DOMImplementationRegistry.newInstance();
> >  > >
> >  > > +
> >  > >
> >  > > +            DOMImplementationLS domImpl =
> >  > >
> >  > > +
> >  > (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
> >  > >
> >  > > +
> >  > >
> >  > > +            LSInput lsInput = domImpl.createLSInput();
> >  > >
> >  > > +
> >  > >
> >  > > +            //store the schema as a string in the LSInput
> >  > >
> >  > > +            String schemaString = 
DOM2Writer.nodeToString(schemaEl);
> >  > >
> >  > > +            System.out.println(schemaString);
> >  > >
> >  > > +            lsInput.setStringData(schemaString);
> >  > >
> >  > > +
> >  > >
> >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe 
schema
> >  > >
> >  > > + System.setProperty(DOMImplementationRegistry.PROPERTY,
> >  > >
> >  > > +                "org.apache.xerces.dom.
> DOMXSImplementationSourceImpl");
> >  > >
> >  > > +            DOMImplementationRegistry xsRegistry =
> >  > DOMImplementationRegistry.newInstance();
> >  > >
> >  > > +
> >  > >
> >  > > +            XSImplementation xsImpl =
> >  > >
> >  > > +                (XSImplementation)
> >  > xsRegistry.getDOMImplementation("XS-Loader");
> >  > >
> >  > > +
> >  > >
> >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >  > >
> >  > > +
> >  > >
> >  > > +            XSModel xsModel = xsLoader.load(lsInput);
> >  > >
> >  > > +
> >  > >
> >  > > +            schema.setContent(xsModel);
> >  > >
> >  > > +
> >  > >
> >  > > +            /*
> >  > >
> >  > > +             * print out the schema elements
> >  > >
> >  > > +             *
> >  > >
> >  > > +            XSNamedMap xsNamedMap =
> >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >  > >
> >  > > +            System.out.println("\nInline schema elements (" +
> >  > xsNamedMap.getLength() +"):");
> >  > >
> >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >  > >
> >  > > +            {
> >  > >
> >  > > +                System.out.println( 
(xsNamedMap.item(i)).getName() );
> >  > >
> >  > > +            }
> >  > >
> >  > > +             */
> >  > >
> >  > > +
> >  > >
> >  > > +        } catch (Exception e) {
> >  > >
> >  > > +            // TODO consider appropriate exceptions
> >  > >
> >  > > +            e.printStackTrace();
> >  > >
> >  > > +        }
> >  > >
> >  > > +
> >  > >
> >  > >          return schema;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > > @@ -208,19 +283,67 @@
> >  > >       * TODO Initial schema parsing is specific to XML Schema.
> >  > >
> >  > >       * Need generic support for other type systems.
> >  > >
> >  > >       * Consider extension architecture with 
serializer/deserializer.
> >  > >
> >  > > +     *
> >  > >
> >  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to 
represent
> >  > >
> >  > > +     * schema and parse elements and types. This will create a 
Xerces
> >  > >
> >  > > +     * parser dependency on the Woden DOM implementation (rather 
than
> >  > >
> >  > > +     * just a JAXP/SAX/DOM API dependency). To be considered 
further.
> >  > >
> >  > >       */
> >  > >
> >  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
> >  > >
> >  > > +    private SchemaImport parseSchemaImport(Element importEl,
> >  > >
> >  > >                                             TypesElement types)
> >  > >
> >  > >                                             throws WSDLException
> >  > >
> >  > >      {
> >  > >
> >  > > -        SchemaImport schemaImport = new SchemaImportImpl();
> >  > >
> >  > > +        //TODO use extension architecture aka WSDL4J
> >  > >
> >  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
> >  > >
> >  > >
> >  > >
> >  > >          schemaImport.setNamespace(
> >  > >
> >  > > -            DOMUtils.getAttribute(schemaEl, Constants.
> ATTR_NAMESPACE));
> >  > >
> >  > > +            DOMUtils.getAttribute(importEl, Constants.
> ATTR_NAMESPACE));
> >  > >
> >  > >
> >  > >
> >  > >          schemaImport.setSchemaLocation(
> >  > >
> >  > > -            DOMUtils.getAttribute(schemaEl,
> >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
> >  > >
> >  > > +            DOMUtils.getAttribute(importEl,
> >  > SchemaConstants.ATTR_SCHEMA_LOCATION));
> >  > >
> >  > > +
> >  > >
> >  > > +        //TODO currently only the XSModel is stored in Schema.
> >  > >
> >  > > +        //The DOM element representing the schema is not stored.
> >  > >
> >  > > +        //Either might be useful to an application dealing
> >  > >
> >  > > +        //with the underlying types (e.g. generator tooling).
> >  > >
> >  > > +        //So consider changing Schema so that it stores both.
> >  > >
> >  > > +        //Perhaps using a Map with a ContentModel/Content pair.
> >  > >
> >  > > +
> >  > >
> >  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001); 
//XML
> >  > Schema type system
> >  > >
> >  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API); 
//XML
> >  > Schema API
> >  > >
> >  > >
> >  > >
> >  > > +        try {
> >  > >
> >  > > +            //Use DOM level 3 bootstrap to get an XSModel ofthe 
schema
> >  > >
> >  > > + System.setProperty(DOMImplementationRegistry.PROPERTY,
> >  > >
> >  > > +                "org.apache.xerces.dom.
> DOMXSImplementationSourceImpl");
> >  > >
> >  > > +            DOMImplementationRegistry xsRegistry =
> >  > DOMImplementationRegistry.newInstance();
> >  > >
> >  > > +
> >  > >
> >  > > +            XSImplementation xsImpl =
> >  > >
> >  > > +                (XSImplementation)
> >  > xsRegistry.getDOMImplementation("XS-Loader");
> >  > >
> >  > > +
> >  > >
> >  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >  > >
> >  > > +
> >  > >
> >  > > +            String sloc = schemaImport.getSchemaLocation();
> >  > >
> >  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
> >  > >
> >  > > +
> >  > >
> >  > > +            schemaImport.setContent(xsModel);
> >  > >
> >  > > +
> >  > >
> >  > > +            /*
> >  > >
> >  > > +             * print out the schema elements
> >  > >
> >  > > +             *
> >  > >
> >  > > +            XSNamedMap xsNamedMap =
> >  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >  > >
> >  > > +            System.out.println("\nImported schema elements (" +
> >  > xsNamedMap.getLength() +"):");
> >  > >
> >  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >  > >
> >  > > +            {
> >  > >
> >  > > +                System.out.println( 
(xsNamedMap.item(i)).getName() );
> >  > >
> >  > > +            }
> >  > >
> >  > > +             */
> >  > >
> >  > > +
> >  > >
> >  > > +        } catch (Exception e) {
> >  > >
> >  > > +            // TODO consider appropriate exceptions
> >  > >
> >  > > +            e.printStackTrace();
> >  > >
> >  > > +        }
> >  > >
> >  > > +
> >  > >
> >  > >          return schemaImport;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > > @@ -235,11 +358,11 @@
> >  > >      {
> >  > >
> >  > >          TypesElement types = desc.createTypesElement();
> >  > >
> >  > >
> >  > >
> >  > > -
> >  > >
> >  > > -
> >  > >
> >  > > +        //TODO for now, set to XML Schema namespace. Later,
> >  > >
> >  > > +        //add support for non-XML Schema type systems
> >  > >
> >  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
> >  > >
> >  > >
> >  > >
> >  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
> >  > >
> >  > > -
> >  > >
> >  > >
> >  > >
> >  > >          while (tempEl != null)
> >  > >
> >  > >          {
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >  > (original)
> >  > > +++
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >  > Tue Sep  6 07:55:53 2005
> >  > > @@ -104,6 +104,15 @@
> >  > >      public static final String ATTR_BINDING = "binding";
> >  > >
> >  > >      public static final String ATTR_LOCATION = "address";
> >  > >
> >  > >
> >  > >
> >  > > +    //Type systems or content models
> >  > >
> >  > > +    public static final String TYPE_XSD_2001 =
> >  > >
> >  > > +        "http://www.w3.org/2001/XMLSchema";
> >  > >
> >  > > +    public static final String TYPE_DOM_API =
> >  > >
> >  > > +        "org.w3c.dom";
> >  > >
> >  > > +    public static final String TYPE_XS_API =
> >  > >
> >  > > +        "org.apache.xerces.xs";
> >  > >
> >  > > +
> >  > >
> >  > > +
> >  > >
> >  > >    //TODO determine if/how these needed
> >  > >
> >  > >    public static final String ATTR_XMLNS = "xmlns";
> >  > >
> >  > >    public static final String ATTR_NAMESPACE = "namespace";
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
> java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
> java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.
> java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -16,22 +16,22 @@
> >  > >   */
> >  > >
> >  > >  public class DocumentationImpl implements DocumentationElement {
> >  > >
> >  > >
> >  > >
> >  > > -    private Object fContentModel;
> >  > >
> >  > > +    private Object fContent;
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >       * @see
> >  > org.apache.woden.wsdl20.xml.
> DocumentationElement#setContentModel(java.lang.Object)
> >  > 
> >  > >
> >  > >       */ 
> > > >
> >  > > -    public void setContentModel(Object docEl)
> >  > >
> >  > > +    public void setContent(Object docEl)
> >  > >
> >  > >      {
> >  > >
> >  > > -        this.fContentModel = docEl;
> >  > >
> >  > > +        this.fContent = docEl;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >       * @see
> >  > org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
> >  > >
> >  > >       */
> >  > >
> >  > > -    public Object getContentModel()
> >  > >
> >  > > +    public Object getContent()
> >  > >
> >  > >      {
> >  > >
> >  > > -        return this.fContentModel;
> >  > >
> >  > > +        return this.fContent;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -21,13 +21,14 @@
> >  > >   * @author jkaputin@apache.org
> >  > >
> >  > >   */
> >  > >
> >  > >  public class InterfaceImpl implements Interface, 
InterfaceElement {
> >  > >
> >  > > +
> >  > >
> >  > > +    QName fName;
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >       * @see org.apache.woden.wsdl20.Interface#getName()
> >  > >
> >  > >       */
> >  > >
> >  > >      public QName getName() {
> >  > >
> >  > > -        // TODO Auto-generated method stub
> >  > >
> >  > > -        return null;
> >  > >
> >  > > +        return fName;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >  > (original)
> >  > > +++
> >  > 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >  > Tue Sep  6 07:55:53 2005
> >  > > @@ -27,6 +27,7 @@
> >  > >  public class TypesImpl implements TypesElement {
> >  > >
> >  > >
> >  > >
> >  > >      private DocumentationElement fDocumentation;
> >  > >
> >  > > +    private String fTypeSystem;
> >  > >
> >  > >      private Map fSchemaImports = new HashMap();
> >  > >
> >  > >      private Map fSchemas = new HashMap();
> >  > >
> >  > >
> >  > >
> >  > > @@ -40,6 +41,16 @@
> >  > >      public DocumentationElement getDocumentationElement()
> >  > >
> >  > >      {
> >  > >
> >  > >          return fDocumentation;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public void setTypeSystem(String typeSystem)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        fTypeSystem = typeSystem;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public String getTypeSystem()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return fTypeSystem;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > >      /*
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
> java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
> java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.
> java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -6,14 +6,16 @@
> >  > >  import org.apache.woden.wsdl20.extensions.Schema;
> >  > >
> >  > >
> >  > >
> >  > >  /**
> >  > >
> >  > > - * A wrapper for a <xs:schema> element.
> >  > >
> >  > > + * A wrapper for a &lt;xs:schema&gt; element.
> >  > >
> >  > >   *
> >  > >
> >  > >   * @author jkaputin@apache.org
> >  > >
> >  > >   */
> >  > >
> >  > >  public class SchemaImpl implements Schema {
> >  > >
> >  > >
> >  > >
> >  > >      private String fTargetNamespace;
> >  > >
> >  > > -    private Object fContentModel;
> >  > >
> >  > > +    private String fTypeSystem;
> >  > >
> >  > > +    private String fContentModel;
> >  > >
> >  > > +    private Object fContent;
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >       * @see
> >  > org.apache.woden.wsdl20.extensions.
> Schema#setTargetNamespace(java.lang.String)
> >  > 
> >  > >
> >  > > @@ -30,15 +32,35 @@
> >  > >      {
> >  > >
> >  > >          return fTargetNamespace;
> >  > >
> >  > >      }
> >  > >
> >  > > +
> >  > >
> >  > > +    public void setTypeSystem(String typeSystem)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        fTypeSystem = typeSystem;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public String getTypeSystem()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return fTypeSystem;
> >  > >
> >  > > +    }
> >  > >
> >  > >
> >  > >
> >  > > -    public void setContentModel(Object schemaEl)
> >  > >
> >  > > +    public void setContentModel(String contentModel)
> >  > >
> >  > >      {
> >  > >
> >  > > -        fContentModel = schemaEl;
> >  > >
> >  > > +        fContentModel = contentModel;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > > -    public Object getContentModel()
> >  > >
> >  > > +    public String getContentModel()
> >  > >
> >  > >      {
> >  > >
> >  > >          return fContentModel;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public void setContent(Object schemaContent)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        fContent = schemaContent;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return fContent;
> >  > >
> >  > >      }
> >  > >
> >  > >
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
> java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
> java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.
> java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -6,9 +6,7 @@
> >  > >  import org.apache.woden.wsdl20.extensions.SchemaImport;
> >  > >
> >  > >
> >  > >
> >  > >  /**
> >  > >
> >  > > - * This interface represents the XML element information item 
for
> >  > >
> >  > > - * a &lt;xs:import&gt; element. It declares the behaviour 
required to
> >  > >
> >  > > - * support parsing, creating and manipulating a 
&lt;xs:import&gt;
> >  > element.
> >  > >
> >  > > + * A wrapper for a &lt;xs:import&gt; element.
> >  > >
> >  > >   *
> >  > >
> >  > >   * @author jkaputin@apache.org
> >  > >
> >  > >   */
> >  > >
> >  > > @@ -16,6 +14,9 @@
> >  > >
> >  > >
> >  > >      private String fNamespace = null;
> >  > >
> >  > >      private String fSchemaLocation = null;
> >  > >
> >  > > +    private String fTypeSystem;
> >  > >
> >  > > +    private String fContentModel;
> >  > >
> >  > > +    private Object fContent;
> >  > >
> >  > >
> >  > >
> >  > >      /* (non-Javadoc)
> >  > >
> >  > >       * @see
> >  > org.apache.woden.wsdl20.extensions.
> SchemaImport#setNamespace(java.lang.String)
> >  > 
> >  > >
> >  > > @@ -49,5 +50,34 @@
> >  > >      {
> >  > >
> >  > >          return this.fSchemaLocation;
> >  > >
> >  > >      }
> >  > >
> >  > > +
> >  > >
> >  > > +    public void setTypeSystem(String typeSystem)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        this.fTypeSystem = typeSystem;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public String getTypeSystem()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return this.fTypeSystem;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public void setContentModel(String contentModel)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        this.fContentModel = contentModel;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public String getContentModel()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return this.fContentModel;
> >  > >
> >  > > +    }
> >  > >
> >  > >
> >  > >
> >  > > +    public void setContent(Object importedSchemaContent)
> >  > >
> >  > > +    {
> >  > >
> >  > > +        this.fContent = importedSchemaContent;
> >  > >
> >  > > +    }
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent()
> >  > >
> >  > > +    {
> >  > >
> >  > > +        return this.fContent;
> >  > >
> >  > > +    }
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >  > (original)
> >  > > +++
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >  > Tue Sep  6 07:55:53 2005
> >  > > @@ -8,21 +8,42 @@
> >  > >  /**
> >  > >
> >  > >   * This interface represents the ElementDeclaration 
> component described
> >  > >
> >  > >   * in the WSDL 2.0 Component Model specification (within the
> Description
> >  > >
> >  > > - * Component section). This component is used for describing
> the content
> >  > >
> >  > > - * of input, output and fault messages. Although it reflects an 
XML
> >  > >
> >  > > - * Schema global element declaration (&lt;xs:element&gt.), it 
does not
> >  > >
> >  > > - * impose XML Schema as the type system. Instead it returns a 
string
> >  > describing
> >  > >
> >  > > - * the type system being used (e.g. 
"http://www.w3.org/2001/XMLSchema
> "),
> >  > >
> >  > > - * which will indicate how to interpret the content model.
> >  > >
> >  > > + * Component section). An ElementDeclaration refers to an 
> element, such
> >  > as
> >  > >
> >  > > + * a global element declaration in the XML Schema type system
> >  > >
> >  > > + * (&lt;xs:element&gt.), that describes the content of WSDL 
input,
> >  > output
> >  > >
> >  > > + * and fault messages.  However, it does not impose XML Schema 
as the
> >  > type system.
> >  > >
> >  > > + * It returns a String representing the content model or type 
system
> >  > >
> >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a 
java.lang.Object
> >  > >
> >  > > + * representing the content of the element declaration. 
ThisObject may
> >  > >
> >  > > + * be cast to a type appropriate for the content model.
> >  > >
> >  > > + *
> >  > >
> >  > > + * TODO consider using woden specific package style names for 
the type
> >  > >
> >  > > + * system and content model constants, so that these can be 
configured
> >  > or
> >  > >
> >  > > + * defaulted prior to parsing and then referred to in a 
> standard way via
> >  > the API
> >  > >
> >  > > + * (e.g.
> >  > >
> >  > > + * org.apache.woden.XML_Schema_Type_System,
> >  > >
> >  > > + * org.apache.woden.DOM_Content_Model,
> >  > >
> >  > > + * org.apache.woden.XML_Schema_API_Content_Model).
> >  > >
> >  > >   *
> >  > >
> >  > > + *
> >  > >
> >  > >   * @author jkaputin@apache.org
> >  > >
> >  > >   */
> >  > >
> >  > >  public interface ElementDeclaration {
> >  > >
> >  > >
> >  > >
> >  > >      public QName getName();
> >  > >
> >  > >
> >  > >
> >  > > +    /*
> >  > >
> >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >  > >
> >  > > +     */
> >  > >
> >  > >      public String getTypeSystem();
> >  > >
> >  > >
> >  > >
> >  > > -    public Object getContentModel();
> >  > >
> >  > > +    /*
> >  > >
> >  > > +     * Indicates the type of model or API used to represent 
> the content.
> >  > >
> >  > > +     * For example, "org.w3c.dom" for a DOM Element or
> >  > >
> >  > > +     * "org.apache.xerces.xs" for an XML Schema API
> >  > XSElementDeclaration.
> >  > >
> >  > > +     */
> >  > >
> >  > > +    public String getContentModel();
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent();
> >  > >
> >  > >
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
> java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
> java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.
> java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -13,6 +13,13 @@
> >  > >
> >  > >
> >  > >      public String getDirection();
> >  > >
> >  > >
> >  > >
> >  > > +    /**
> >  > >
> >  > > +     * Indicates the type of message content.#any means any 
single
> >  > element,
> >  > >
> >  > > +     * #none means no message content, #other means non-XML 
extension
> >  > type system
> >  > >
> >  > > +     * or #element means XML Schema global element definition.
> >  > >
> >  > > +     *
> >  > >
> >  > > +     * @return string representing the type of message content
> >  > >
> >  > > +     */
> >  > >
> >  > >      public String getMessageContentModel();
> >  > >
> >  > >
> >  > >
> >  > >      public ElementDeclaration getElementDeclaration();
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > --- 
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >  > (original)
> >  > > +++ 
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >  > Tue Sep  6 07:55:53 2005
> >  > > @@ -8,12 +8,22 @@
> >  > >  /**
> >  > >
> >  > >   * This interface represents the TypeDefinition component 
described
> >  > >
> >  > >   * in the WSDL 2.0 Component Model specification (within the
> Description
> >  > >
> >  > > - * Component section). This component is used for 
describingsimple or
> >  > >
> >  > > - * complex data types. Although it reflects an XML Schema global 
type
> >  > > 
> > > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:
> complexType&gt.), it does
> >  > not
> >  > >
> >  > > - * impose XML Schema as the type system. Instead it returns a 
string
> >  > describing
> >  > >
> >  > > - * the type system being used (e.g. 
"http://www.w3.org/2001/XMLSchema
> "),
> >  > >
> >  > > - * which will indicate how to interpret the content model.
> >  > >
> >  > > + * Component section). This component refers to simple or 
complex data
> >  > types
> >  > >
> >  > > + * defined in a type system such as XML Schema
> >  > >
> >  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
> >  > >
> >  > > + * However, it does not impose XML Schema as the type system.
> >  > >
> >  > > + * It returns a String representing the content model or type 
system
> >  > >
> >  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a 
java.lang.Object
> >  > >
> >  > > + * representing the content of the type definition. This Object 
may
> >  > >
> >  > > + * be cast to a type appropriate for the content model.
> >  > >
> >  > > + *
> >  > >
> >  > > + * TODO consider using woden specific package style names for 
the type
> >  > >
> >  > > + * system and content model constants, so that these can be 
configured
> >  > or
> >  > >
> >  > > + * defaulted prior to parsing and then referred to in a 
> standard way via
> >  > the API
> >  > >
> >  > > + * (e.g.
> >  > >
> >  > > + * org.apache.woden.XML_Schema_Type_System,
> >  > >
> >  > > + * org.apache.woden.DOM_Content_Model,
> >  > >
> >  > > + * org.apache.woden.XML_Schema_API_Content_Model).
> >  > >
> >  > >   *
> >  > >
> >  > >   * @author jkaputin@apache.org
> >  > >
> >  > >   */
> >  > >
> >  > > @@ -21,8 +31,18 @@
> >  > >
> >  > >
> >  > >      public QName getName();
> >  > >
> >  > >
> >  > >
> >  > > +    /*
> >  > >
> >  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >  > >
> >  > > +     */
> >  > >
> >  > >      public String getTypeSystem();
> >  > >
> >  > >
> >  > >
> >  > > -    public Object getContentModel();
> >  > >
> >  > > +    /*
> >  > >
> >  > > +     * Indicates the type of model or API used to represent 
> the content.
> >  > >
> >  > > +     * For example, "org.w3c.dom" for a DOM Element or
> >  > >
> >  > > +     * "org.apache.xerces.xs" for an XML Schema API 
XSTypeDefinition.
> >  > >
> >  > > +     */
> >  > >
> >  > > +    public String getContentModel();
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent();
> >  > >
> >  > >
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> >  > (original)
> >  > > +++
> >  > 
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java 
Tue
> >  > Sep  6 07:55:53 2005
> >  > > @@ -17,8 +17,10 @@
> >  > >
> >  > >
> >  > >      public String getTargetNamespace();
> >  > >
> >  > >
> >  > >
> >  > > -    public void setContentModel(Object schemaEl);
> >  > >
> >  > > +    public String getTypeSystem();
> >  > >
> >  > >
> >  > >
> >  > > -    public Object getContentModel();
> >  > >
> >  > > +    public String getContentModel();
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent();
> >  > >
> >  > >
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -20,4 +20,9 @@
> >  > >
> >  > >
> >  > >      public String getSchemaLocation();
> >  > >
> >  > >
> >  > >
> >  > > +    public String getTypeSystem();
> >  > >
> >  > > +
> >  > >
> >  > > +    public String getContentModel();
> >  > >
> >  > > +
> >  > >
> >  > > +    public Object getContent();
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> >  > 
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> >  >  (original)
> >  > > +++
> >  > 
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> >  >  Tue Sep  6 07:55:53 2005
> >  > > @@ -13,7 +13,7 @@
> >  > >   */
> >  > >
> >  > >  public interface DocumentationElement extends WSDL20Element {
> >  > >
> >  > >
> >  > >
> >  > > -    public void setContentModel(Object docEl);
> >  > >
> >  > > +    public void setContent(Object docEl);
> >  > >
> >  > >
> >  > >
> >  > > -    public Object getContentModel();
> >  > >
> >  > > +    public Object getContent();
> >  > >
> >  > >  }
> >  > >
> >  > >
> >  > > Modified:
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> >  > > URL:
> >  > http://svn.apache.
> 
org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.
> java?rev=279015&r1=279014&r2=279015&view=diff
> >  > 
> >  > >
> >  > 
> 
==============================================================================
> >  > 
> >  > > ---
> >  > 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> >  > (original)
> >  > > +++
> >  > 
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java 
Tue
> >  > Sep  6 07:55:53 2005
> >  > > @@ -31,19 +31,37 @@
> >  > >
> >  > >
> >  > >      public DocumentationElement getDocumentationElement();
> >  > >
> >  > >
> >  > >
> >  > > +    /**
> >  > >
> >  > > +     * Indicate the type system used within the &lt;types&gt;
> >  > >
> >  > > +     * element. Typically the XML Schema type system will be
> >  > >
> >  > > +     * used, represented by the XML Schema namespace
> >  > >
> >  > > +     * "http://www.w3.org/2001/XMLSchema".
> >  > >
> >  > > +     */
> >  > >
> >  > > +    public void setTypeSystem(String typeSystem);
> >  > >
> >  > > +
> >  > >
> >  > > +    /**
> >  > >
> >  > > +     * Get the string indicating the type system used within the
> >  > &lt;types&gt;
> >  > >
> >  > > +     * element.
> >  > >
> >  > > +     */
> >  > >
> >  > > +    public String getTypeSystem();
> >  > >
> >  > > +
> >  > >
> >  > >      /*
> >  > >
> >  > >       * Schema imports &lt;xs:import&gt; are stored in a Map of
> >  > SchemaImport[]
> >  > >
> >  > >       * keyed by namespace. The schemaLocation attribute will
> distinguish
> >  > >
> >  > >       * schemas imported with the same namespace.
> >  > >
> >  > >       */
> >  > >
> >  > >
> >  > >
> >  > > +    /**
> >  > >
> >  > > +     * Add a SchemaImport to the schemas imported within the
> >  > &lt;types&gt; element.
> >  > >
> >  > > +     */
> >  > >
> >  > >      public void addSchemaImport(SchemaImport schemaImport);
> >  > >
> >  > >
> >  > >
> >  > >      //TODO what if schemaLoc is null and there is more than one 
import
> >  > for this namespace?
> >  > >
> >  > >      //Delete all or raise an error?
> >  > >
> >  > >
> >  > >
> >  > >      /**
> >  > >
> >  > > -     * Add a SchemaImport to the schemas imported within the
> >  > &lt;types&gt; element.
> >  > >
> >  > > +     * Remove a SchemaImport from the list of schemas imported
> >  > >
> >  > > +     * within the &lt;types&gt; element.
> >  > >
> >  > >       */
> >  > >
> >  > >      public void removeSchemaImport(String namespace, String 
> schemaLoc);
> >  > >
> >  > >
> >  > >
> >  > >
> >  > >
> >  > >
> >  > > 
---------------------------------------------------------------------
> >  > > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> >  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
> >  > >
> >  > >
> >  > 
> >  > 
> >  > --
> >  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web 
> Service Platform
> >  > 
> >  > 
---------------------------------------------------------------------
> >  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
> >  > 
> >  > 
> >  > 
> >  > 
> >  > 
---------------------------------------------------------------------
> >  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> >  > For additional commands, e-mail: woden-dev-help@ws.apache.org
> >  > 
> >  > 
> > 
> > 
> >  -- 
> >  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service 
Platform
> > 
> >  ---------------------------------------------------------------------
> >  To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> >  For additional commands, e-mail: woden-dev-help@ws.apache.org
> > 
> > 
> > 
> 
> 
> 
> -- 
> Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service 
Platform
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 

Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
Lawrence,

All WS folks (includes You :) have privileges to modify the code.
Please feel free to make any changes including package names . Please
cc axis-dev@ (please add [Axis2] prefix in subject) as there is some
code in Axis2. We upload snapshots right now into a private maven repo
that Axis2 build picks up. I can update that snapshot regularly if
needed.

thanks,
dims

On 9/9/05, Lawrence Mandel <lm...@ca.ibm.com> wrote:
>  
> Hi Dims, 
>  
> Is XmlSchema packaged as a separate distro that is picked up by Axis2 or does Axis 2 grab and compile the source? 
>  
> I see that the package name for XmlSchema contains 'axis'. Is there a plan to change the package name now that XmlSchema is a common WS component? Do any other WS components use XmlSchema at this point or has it simply been made common so other components can use it? 
> 
>  Lawrence Mandel
>  
>  Software Developer
>  IBM Rational Software
>  Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
>  lmandel@ca.ibm.com 
>  
>  
>   
>  Davanum Srinivas <da...@gmail.com>  
> 
> 09/08/2005 11:57 AM  
>   
> Please respond to
>  woden-dev 
>    
>   
> To woden-dev@ws.apache.org 
>   
> cc  
> 
>   
> Subject Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/) 
>   
>   
> 
>  
>  
>  
>  
> It's used in Axis2 (Please use the SchemaBuilder -
>  http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java)
>  
>  -- dims
>  
>  On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
>  > Dims,
>  > I've been looking without success for info or code samples on using
>  > XmlSchema. e.g. the programming model for creating an XmlSchema object.
>  > Searched the java source in CVS ws-axis and SVN axis for
>  > 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any references. Is
>  > it being used yet?
>  > 
>  > 
>  > John Kaputin
>  > 
>  > 
>  > 
>  > 
>  >              Davanum Srinivas
>  >              <davanum@gmail.co
>  >              m>                                                         To
>  >                                        woden-dev@ws.apache.org
>  >              06/09/2005 16:06                                           cc
>  > 
>  >                                                                    Subject
>  >              Please respond to         (Re: svn commit: r279015 - in
>  >                  woden-dev             /incubator/woden/java/src/org/apach
>  >                                        e/woden: internal/ internal/wsdl20/
>  >                                        internal/wsdl20/extensions/ wsdl20/
>  >                                        wsdl20/extensions/ wsdl20/xml/)
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > 
>  > John,
>  > 
>  > Could we please use XmlSchema?
>  > (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
>  > 
>  > That way we are not stuck to a specifc version of Xerces.
>  > 
>  > -- dims
>  > 
>  > On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
>  > > Author: jkaputin
>  > > Date: Tue Sep  6 07:55:53 2005
>  > > New Revision: 279015
>  > >
>  > > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
>  > > Log:
>  > > Added DOM parsing of schema and schema import using XML
>  > >
>  > > Schema API (XSModel) to access element and types.
>  > >
>  > > Modified:
>  > >     incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  > 
>  > >     incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > 
>  > >
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > (original)
>  > > +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -27,6 +27,18 @@
>  > >  import org.xml.sax.InputSource;
>  > >
>  > >  import org.xml.sax.SAXException;
>  > >
>  > >
>  > >
>  > > +//JK temporary imports (pending TODOs)
>  > >
>  > > +
>  > >
>  > > +import com.ibm.wsdl.util.xml.DOM2Writer;
>  > >
>  > > +
>  > >
>  > > +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>  > >
>  > > +import org.apache.xerces.xs.XSImplementation;
>  > >
>  > > +import org.apache.xerces.xs.XSLoader;
>  > >
>  > > +import org.apache.xerces.xs.XSModel;
>  > >
>  > > +
>  > >
>  > > +import org.w3c.dom.ls.DOMImplementationLS;
>  > >
>  > > +import org.w3c.dom.ls.LSInput;
>  > >
>  > > +
>  > >
>  > >  import temp.WSDLException;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > @@ -164,7 +176,7 @@
>  > >                                                      DescriptionElement
>  > desc)
>  > >
>  > >      {
>  > >
>  > >          DocumentationElement documentation =
>  > desc.createDocumentationElement();
>  > >
>  > > -        documentation.setContentModel(docEl);
>  > >
>  > > +        documentation.setContent(docEl);
>  > >
>  > >          return documentation;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -189,18 +201,81 @@
>  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >
>  > >       * Need generic support for other type systems.
>  > >
>  > >       * Consider extension architecture with serializer/deserializer.
>  > >
>  > > +     *
>  > >
>  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>  > >
>  > > +     * schema and parse elements and types. This will create a Xerces
>  > >
>  > > +     * parser dependency on the Woden DOM implementation (rather than
>  > >
>  > > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>  > >
>  > >       */
>  > >
>  > >      private Schema parseSchemaInline(Element schemaEl,
>  > >
>  > >                                       TypesElement desc)
>  > >
>  > >                                       throws WSDLException
>  > >
>  > >      {
>  > >
>  > > -        Schema schema = new SchemaImpl();
>  > >
>  > > +        SchemaImpl schema = new SchemaImpl();
>  > >
>  > >
>  > >
>  > >          schema.setTargetNamespace(
>  > >
>  > >              DOMUtils.getAttribute(schemaEl,
>  > Constants.ATTR_TARGET_NAMESPACE));
>  > >
>  > >
>  > >
>  > > -        schema.setContentModel(schemaEl);
>  > >
>  > > +        //TODO the type system will depend on the WSDL doc so consider
>  > >
>  > > +        //parameterizing it. Fixed with an XML Schema constant for now.
>  > >
>  > > +
>  > >
>  > > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema
>  > type system
>  > >
>  > > +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
>  > >
>  > >
>  > >
>  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >
>  > > +        //The DOM element representing the schema is not stored.
>  > >
>  > > +        //Either might be useful to an application dealing
>  > >
>  > > +        //with the underlying types (e.g. generator tooling).
>  > >
>  > > +        //So consider changing Schema so that it stores both.
>  > >
>  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >
>  > > +
>  > >
>  > > +        try {
>  > >
>  > > +            //create an LSInput object to hold the schema string
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry domRegistry =
>  > >
>  > > +                DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            DOMImplementationLS domImpl =
>  > >
>  > > +
>  > (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>  > >
>  > > +
>  > >
>  > > +            LSInput lsInput = domImpl.createLSInput();
>  > >
>  > > +
>  > >
>  > > +            //store the schema as a string in the LSInput
>  > >
>  > > +            String schemaString = DOM2Writer.nodeToString(schemaEl);
>  > >
>  > > +            System.out.println(schemaString);
>  > >
>  > > +            lsInput.setStringData(schemaString);
>  > >
>  > > +
>  > >
>  > > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry xsRegistry =
>  > DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            XSImplementation xsImpl =
>  > >
>  > > +                (XSImplementation)
>  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >
>  > > +
>  > >
>  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >
>  > > +
>  > >
>  > > +            XSModel xsModel = xsLoader.load(lsInput);
>  > >
>  > > +
>  > >
>  > > +            schema.setContent(xsModel);
>  > >
>  > > +
>  > >
>  > > +            /*
>  > >
>  > > +             * print out the schema elements
>  > >
>  > > +             *
>  > >
>  > > +            XSNamedMap xsNamedMap =
>  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >
>  > > +            System.out.println("\nInline schema elements (" +
>  > xsNamedMap.getLength() +"):");
>  > >
>  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >
>  > > +            {
>  > >
>  > > +                System.out.println( (xsNamedMap.item(i)).getName() );
>  > >
>  > > +            }
>  > >
>  > > +             */
>  > >
>  > > +
>  > >
>  > > +        } catch (Exception e) {
>  > >
>  > > +            // TODO consider appropriate exceptions
>  > >
>  > > +            e.printStackTrace();
>  > >
>  > > +        }
>  > >
>  > > +
>  > >
>  > >          return schema;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -208,19 +283,67 @@
>  > >       * TODO Initial schema parsing is specific to XML Schema.
>  > >
>  > >       * Need generic support for other type systems.
>  > >
>  > >       * Consider extension architecture with serializer/deserializer.
>  > >
>  > > +     *
>  > >
>  > > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>  > >
>  > > +     * schema and parse elements and types. This will create a Xerces
>  > >
>  > > +     * parser dependency on the Woden DOM implementation (rather than
>  > >
>  > > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>  > >
>  > >       */
>  > >
>  > > -    private SchemaImport parseSchemaImport(Element schemaEl,
>  > >
>  > > +    private SchemaImport parseSchemaImport(Element importEl,
>  > >
>  > >                                             TypesElement types)
>  > >
>  > >                                             throws WSDLException
>  > >
>  > >      {
>  > >
>  > > -        SchemaImport schemaImport = new SchemaImportImpl();
>  > >
>  > > +        //TODO use extension architecture aka WSDL4J
>  > >
>  > > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>  > >
>  > >
>  > >
>  > >          schemaImport.setNamespace(
>  > >
>  > > -            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
>  > >
>  > > +            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
>  > >
>  > >
>  > >
>  > >          schemaImport.setSchemaLocation(
>  > >
>  > > -            DOMUtils.getAttribute(schemaEl,
>  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >
>  > > +            DOMUtils.getAttribute(importEl,
>  > SchemaConstants.ATTR_SCHEMA_LOCATION));
>  > >
>  > > +
>  > >
>  > > +        //TODO currently only the XSModel is stored in Schema.
>  > >
>  > > +        //The DOM element representing the schema is not stored.
>  > >
>  > > +        //Either might be useful to an application dealing
>  > >
>  > > +        //with the underlying types (e.g. generator tooling).
>  > >
>  > > +        //So consider changing Schema so that it stores both.
>  > >
>  > > +        //Perhaps using a Map with a ContentModel/Content pair.
>  > >
>  > > +
>  > >
>  > > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
>  > Schema type system
>  > >
>  > > +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML
>  > Schema API
>  > >
>  > >
>  > >
>  > > +        try {
>  > >
>  > > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>  > >
>  > > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>  > >
>  > > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>  > >
>  > > +            DOMImplementationRegistry xsRegistry =
>  > DOMImplementationRegistry.newInstance();
>  > >
>  > > +
>  > >
>  > > +            XSImplementation xsImpl =
>  > >
>  > > +                (XSImplementation)
>  > xsRegistry.getDOMImplementation("XS-Loader");
>  > >
>  > > +
>  > >
>  > > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>  > >
>  > > +
>  > >
>  > > +            String sloc = schemaImport.getSchemaLocation();
>  > >
>  > > +            XSModel xsModel = xsLoader.loadURI(sloc);
>  > >
>  > > +
>  > >
>  > > +            schemaImport.setContent(xsModel);
>  > >
>  > > +
>  > >
>  > > +            /*
>  > >
>  > > +             * print out the schema elements
>  > >
>  > > +             *
>  > >
>  > > +            XSNamedMap xsNamedMap =
>  > xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>  > >
>  > > +            System.out.println("\nImported schema elements (" +
>  > xsNamedMap.getLength() +"):");
>  > >
>  > > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>  > >
>  > > +            {
>  > >
>  > > +                System.out.println( (xsNamedMap.item(i)).getName() );
>  > >
>  > > +            }
>  > >
>  > > +             */
>  > >
>  > > +
>  > >
>  > > +        } catch (Exception e) {
>  > >
>  > > +            // TODO consider appropriate exceptions
>  > >
>  > > +            e.printStackTrace();
>  > >
>  > > +        }
>  > >
>  > > +
>  > >
>  > >          return schemaImport;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > @@ -235,11 +358,11 @@
>  > >      {
>  > >
>  > >          TypesElement types = desc.createTypesElement();
>  > >
>  > >
>  > >
>  > > -
>  > >
>  > > -
>  > >
>  > > +        //TODO for now, set to XML Schema namespace. Later,
>  > >
>  > > +        //add support for non-XML Schema type systems
>  > >
>  > > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>  > >
>  > >
>  > >
>  > >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>  > >
>  > > -
>  > >
>  > >
>  > >
>  > >          while (tempEl != null)
>  > >
>  > >          {
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -104,6 +104,15 @@
>  > >      public static final String ATTR_BINDING = "binding";
>  > >
>  > >      public static final String ATTR_LOCATION = "address";
>  > >
>  > >
>  > >
>  > > +    //Type systems or content models
>  > >
>  > > +    public static final String TYPE_XSD_2001 =
>  > >
>  > > +        "http://www.w3.org/2001/XMLSchema";
>  > >
>  > > +    public static final String TYPE_DOM_API =
>  > >
>  > > +        "org.w3c.dom";
>  > >
>  > > +    public static final String TYPE_XS_API =
>  > >
>  > > +        "org.apache.xerces.xs";
>  > >
>  > > +
>  > >
>  > > +
>  > >
>  > >    //TODO determine if/how these needed
>  > >
>  > >    public static final String ATTR_XMLNS = "xmlns";
>  > >
>  > >    public static final String ATTR_NAMESPACE = "namespace";
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -16,22 +16,22 @@
>  > >   */
>  > >
>  > >  public class DocumentationImpl implements DocumentationElement {
>  > >
>  > >
>  > >
>  > > -    private Object fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
>  > 
>  > >
>  > >       */ 
> > >
>  > > -    public void setContentModel(Object docEl)
>  > >
>  > > +    public void setContent(Object docEl)
>  > >
>  > >      {
>  > >
>  > > -        this.fContentModel = docEl;
>  > >
>  > > +        this.fContent = docEl;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>  > >
>  > >       */
>  > >
>  > > -    public Object getContentModel()
>  > >
>  > > +    public Object getContent()
>  > >
>  > >      {
>  > >
>  > > -        return this.fContentModel;
>  > >
>  > > +        return this.fContent;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -21,13 +21,14 @@
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public class InterfaceImpl implements Interface, InterfaceElement {
>  > >
>  > > +
>  > >
>  > > +    QName fName;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see org.apache.woden.wsdl20.Interface#getName()
>  > >
>  > >       */
>  > >
>  > >      public QName getName() {
>  > >
>  > > -        // TODO Auto-generated method stub
>  > >
>  > > -        return null;
>  > >
>  > > +        return fName;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -27,6 +27,7 @@
>  > >  public class TypesImpl implements TypesElement {
>  > >
>  > >
>  > >
>  > >      private DocumentationElement fDocumentation;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > >      private Map fSchemaImports = new HashMap();
>  > >
>  > >      private Map fSchemas = new HashMap();
>  > >
>  > >
>  > >
>  > > @@ -40,6 +41,16 @@
>  > >      public DocumentationElement getDocumentationElement()
>  > >
>  > >      {
>  > >
>  > >          return fDocumentation;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return fTypeSystem;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >      /*
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -6,14 +6,16 @@
>  > >  import org.apache.woden.wsdl20.extensions.Schema;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > - * A wrapper for a <xs:schema> element.
>  > >
>  > > + * A wrapper for a &lt;xs:schema&gt; element.
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public class SchemaImpl implements Schema {
>  > >
>  > >
>  > >
>  > >      private String fTargetNamespace;
>  > >
>  > > -    private Object fContentModel;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > > +    private String fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
>  > 
>  > >
>  > > @@ -30,15 +32,35 @@
>  > >      {
>  > >
>  > >          return fTargetNamespace;
>  > >
>  > >      }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return fTypeSystem;
>  > >
>  > > +    }
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object schemaEl)
>  > >
>  > > +    public void setContentModel(String contentModel)
>  > >
>  > >      {
>  > >
>  > > -        fContentModel = schemaEl;
>  > >
>  > > +        fContentModel = contentModel;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel()
>  > >
>  > > +    public String getContentModel()
>  > >
>  > >      {
>  > >
>  > >          return fContentModel;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setContent(Object schemaContent)
>  > >
>  > > +    {
>  > >
>  > > +        fContent = schemaContent;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public Object getContent()
>  > >
>  > > +    {
>  > >
>  > > +        return fContent;
>  > >
>  > >      }
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -6,9 +6,7 @@
>  > >  import org.apache.woden.wsdl20.extensions.SchemaImport;
>  > >
>  > >
>  > >
>  > >  /**
>  > >
>  > > - * This interface represents the XML element information item for
>  > >
>  > > - * a &lt;xs:import&gt; element. It declares the behaviour required to
>  > >
>  > > - * support parsing, creating and manipulating a &lt;xs:import&gt;
>  > element.
>  > >
>  > > + * A wrapper for a &lt;xs:import&gt; element.
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > > @@ -16,6 +14,9 @@
>  > >
>  > >
>  > >      private String fNamespace = null;
>  > >
>  > >      private String fSchemaLocation = null;
>  > >
>  > > +    private String fTypeSystem;
>  > >
>  > > +    private String fContentModel;
>  > >
>  > > +    private Object fContent;
>  > >
>  > >
>  > >
>  > >      /* (non-Javadoc)
>  > >
>  > >       * @see
>  > org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
>  > 
>  > >
>  > > @@ -49,5 +50,34 @@
>  > >      {
>  > >
>  > >          return this.fSchemaLocation;
>  > >
>  > >      }
>  > >
>  > > +
>  > >
>  > > +    public void setTypeSystem(String typeSystem)
>  > >
>  > > +    {
>  > >
>  > > +        this.fTypeSystem = typeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getTypeSystem()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fTypeSystem;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public void setContentModel(String contentModel)
>  > >
>  > > +    {
>  > >
>  > > +        this.fContentModel = contentModel;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public String getContentModel()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fContentModel;
>  > >
>  > > +    }
>  > >
>  > >
>  > >
>  > > +    public void setContent(Object importedSchemaContent)
>  > >
>  > > +    {
>  > >
>  > > +        this.fContent = importedSchemaContent;
>  > >
>  > > +    }
>  > >
>  > > +
>  > >
>  > > +    public Object getContent()
>  > >
>  > > +    {
>  > >
>  > > +        return this.fContent;
>  > >
>  > > +    }
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -8,21 +8,42 @@
>  > >  /**
>  > >
>  > >   * This interface represents the ElementDeclaration component described
>  > >
>  > >   * in the WSDL 2.0 Component Model specification (within the Description
>  > >
>  > > - * Component section). This component is used for describing the content
>  > >
>  > > - * of input, output and fault messages. Although it reflects an XML
>  > >
>  > > - * Schema global element declaration (&lt;xs:element&gt.), it does not
>  > >
>  > > - * impose XML Schema as the type system. Instead it returns a string
>  > describing
>  > >
>  > > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>  > >
>  > > - * which will indicate how to interpret the content model.
>  > >
>  > > + * Component section). An ElementDeclaration refers to an element, such
>  > as
>  > >
>  > > + * a global element declaration in the XML Schema type system
>  > >
>  > > + * (&lt;xs:element&gt.), that describes the content of WSDL input,
>  > output
>  > >
>  > > + * and fault messages.  However, it does not impose XML Schema as the
>  > type system.
>  > >
>  > > + * It returns a String representing the content model or type system
>  > >
>  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>  > >
>  > > + * representing the content of the element declaration. This Object may
>  > >
>  > > + * be cast to a type appropriate for the content model.
>  > >
>  > > + *
>  > >
>  > > + * TODO consider using woden specific package style names for the type
>  > >
>  > > + * system and content model constants, so that these can be configured
>  > or
>  > >
>  > > + * defaulted prior to parsing and then referred to in a standard way via
>  > the API
>  > >
>  > > + * (e.g.
>  > >
>  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >
>  > > + * org.apache.woden.DOM_Content_Model,
>  > >
>  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  > >
>  > >   *
>  > >
>  > > + *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > >  public interface ElementDeclaration {
>  > >
>  > >
>  > >
>  > >      public QName getName();
>  > >
>  > >
>  > >
>  > > +    /*
>  > >
>  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >
>  > > +     */
>  > >
>  > >      public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    /*
>  > >
>  > > +     * Indicates the type of model or API used to represent the content.
>  > >
>  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >
>  > > +     * "org.apache.xerces.xs" for an XML Schema API
>  > XSElementDeclaration.
>  > >
>  > > +     */
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -13,6 +13,13 @@
>  > >
>  > >
>  > >      public String getDirection();
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Indicates the type of message content.#any means any single
>  > element,
>  > >
>  > > +     * #none means no message content, #other means non-XML extension
>  > type system
>  > >
>  > > +     * or #element means XML Schema global element definition.
>  > >
>  > > +     *
>  > >
>  > > +     * @return string representing the type of message content
>  > >
>  > > +     */
>  > >
>  > >      public String getMessageContentModel();
>  > >
>  > >
>  > >
>  > >      public ElementDeclaration getElementDeclaration();
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > --- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > (original)
>  > > +++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>  > Tue Sep  6 07:55:53 2005
>  > > @@ -8,12 +8,22 @@
>  > >  /**
>  > >
>  > >   * This interface represents the TypeDefinition component described
>  > >
>  > >   * in the WSDL 2.0 Component Model specification (within the Description
>  > >
>  > > - * Component section). This component is used for describing simple or
>  > >
>  > > - * complex data types. Although it reflects an XML Schema global type
>  > > 
> > > - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does
>  > not
>  > >
>  > > - * impose XML Schema as the type system. Instead it returns a string
>  > describing
>  > >
>  > > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>  > >
>  > > - * which will indicate how to interpret the content model.
>  > >
>  > > + * Component section). This component refers to simple or complex data
>  > types
>  > >
>  > > + * defined in a type system such as XML Schema
>  > >
>  > > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>  > >
>  > > + * However, it does not impose XML Schema as the type system.
>  > >
>  > > + * It returns a String representing the content model or type system
>  > >
>  > > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>  > >
>  > > + * representing the content of the type definition. This Object may
>  > >
>  > > + * be cast to a type appropriate for the content model.
>  > >
>  > > + *
>  > >
>  > > + * TODO consider using woden specific package style names for the type
>  > >
>  > > + * system and content model constants, so that these can be configured
>  > or
>  > >
>  > > + * defaulted prior to parsing and then referred to in a standard way via
>  > the API
>  > >
>  > > + * (e.g.
>  > >
>  > > + * org.apache.woden.XML_Schema_Type_System,
>  > >
>  > > + * org.apache.woden.DOM_Content_Model,
>  > >
>  > > + * org.apache.woden.XML_Schema_API_Content_Model).
>  > >
>  > >   *
>  > >
>  > >   * @author jkaputin@apache.org
>  > >
>  > >   */
>  > >
>  > > @@ -21,8 +31,18 @@
>  > >
>  > >
>  > >      public QName getName();
>  > >
>  > >
>  > >
>  > > +    /*
>  > >
>  > > +     * e.g. "http://www.w3.org/2001/XMLSchema"
>  > >
>  > > +     */
>  > >
>  > >      public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    /*
>  > >
>  > > +     * Indicates the type of model or API used to represent the content.
>  > >
>  > > +     * For example, "org.w3c.dom" for a DOM Element or
>  > >
>  > > +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
>  > >
>  > > +     */
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>  > (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue
>  > Sep  6 07:55:53 2005
>  > > @@ -17,8 +17,10 @@
>  > >
>  > >
>  > >      public String getTargetNamespace();
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object schemaEl);
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -20,4 +20,9 @@
>  > >
>  > >
>  > >      public String getSchemaLocation();
>  > >
>  > >
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > > +
>  > >
>  > > +    public String getContentModel();
>  > >
>  > > +
>  > >
>  > > +    public Object getContent();
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  > 
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  >  Tue Sep  6 07:55:53 2005
>  > > @@ -13,7 +13,7 @@
>  > >   */
>  > >
>  > >  public interface DocumentationElement extends WSDL20Element {
>  > >
>  > >
>  > >
>  > > -    public void setContentModel(Object docEl);
>  > >
>  > > +    public void setContent(Object docEl);
>  > >
>  > >
>  > >
>  > > -    public Object getContentModel();
>  > >
>  > > +    public Object getContent();
>  > >
>  > >  }
>  > >
>  > >
>  > > Modified:
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > > URL:
>  > http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff
>  > 
>  > >
>  > ==============================================================================
>  > 
>  > > ---
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>  > (original)
>  > > +++
>  > incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue
>  > Sep  6 07:55:53 2005
>  > > @@ -31,19 +31,37 @@
>  > >
>  > >
>  > >      public DocumentationElement getDocumentationElement();
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Indicate the type system used within the &lt;types&gt;
>  > >
>  > > +     * element. Typically the XML Schema type system will be
>  > >
>  > > +     * used, represented by the XML Schema namespace
>  > >
>  > > +     * "http://www.w3.org/2001/XMLSchema".
>  > >
>  > > +     */
>  > >
>  > > +    public void setTypeSystem(String typeSystem);
>  > >
>  > > +
>  > >
>  > > +    /**
>  > >
>  > > +     * Get the string indicating the type system used within the
>  > &lt;types&gt;
>  > >
>  > > +     * element.
>  > >
>  > > +     */
>  > >
>  > > +    public String getTypeSystem();
>  > >
>  > > +
>  > >
>  > >      /*
>  > >
>  > >       * Schema imports &lt;xs:import&gt; are stored in a Map of
>  > SchemaImport[]
>  > >
>  > >       * keyed by namespace. The schemaLocation attribute will distinguish
>  > >
>  > >       * schemas imported with the same namespace.
>  > >
>  > >       */
>  > >
>  > >
>  > >
>  > > +    /**
>  > >
>  > > +     * Add a SchemaImport to the schemas imported within the
>  > &lt;types&gt; element.
>  > >
>  > > +     */
>  > >
>  > >      public void addSchemaImport(SchemaImport schemaImport);
>  > >
>  > >
>  > >
>  > >      //TODO what if schemaLoc is null and there is more than one import
>  > for this namespace?
>  > >
>  > >      //Delete all or raise an error?
>  > >
>  > >
>  > >
>  > >      /**
>  > >
>  > > -     * Add a SchemaImport to the schemas imported within the
>  > &lt;types&gt; element.
>  > >
>  > > +     * Remove a SchemaImport from the list of schemas imported
>  > >
>  > > +     * within the &lt;types&gt; element.
>  > >
>  > >       */
>  > >
>  > >      public void removeSchemaImport(String namespace, String schemaLoc);
>  > >
>  > >
>  > >
>  > >
>  > >
>  > >
>  > > ---------------------------------------------------------------------
>  > > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > >
>  > >
>  > 
>  > 
>  > --
>  > Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
>  > 
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
>  > 
>  > 
>  > 
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: woden-dev-help@ws.apache.org
>  > 
>  > 
>  
>  
>  -- 
>  Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
>  
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
>  For additional commands, e-mail: woden-dev-help@ws.apache.org
>  
>   
>  



-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Lawrence Mandel <lm...@ca.ibm.com>.
Hi Dims,

Is XmlSchema packaged as a separate distro that is picked up by Axis2 or 
does Axis 2 grab and compile the source?

I see that the package name for XmlSchema contains 'axis'. Is there a plan 
to change the package name now that XmlSchema is a common WS component? Do 
any other WS components use XmlSchema at this point or has it simply been 
made common so other components can use it?

Lawrence Mandel

Software Developer
IBM Rational Software
Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
lmandel@ca.ibm.com



Davanum Srinivas <da...@gmail.com> 
09/08/2005 11:57 AM
Please respond to
woden-dev


To
woden-dev@ws.apache.org
cc

Subject
Re: (Re: svn commit: r279015 - in 
/incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ 
internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)






It's used in Axis2 (Please use the SchemaBuilder -
http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
)

-- dims

On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
> Dims,
> I've been looking without success for info or code samples on using
> XmlSchema. e.g. the programming model for creating an XmlSchema object.
> Searched the java source in CVS ws-axis and SVN axis for
> 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any references. 
Is
> it being used yet?
> 
> 
> John Kaputin
> 
> 
> 
> 
>              Davanum Srinivas
>              <davanum@gmail.co
>              m> To
>                                        woden-dev@ws.apache.org
>              06/09/2005 16:06 cc
> 
> Subject
>              Please respond to         (Re: svn commit: r279015 - in
>                  woden-dev /incubator/woden/java/src/org/apach
>                                        e/woden: internal/ 
internal/wsdl20/
>                                        internal/wsdl20/extensions/ 
wsdl20/
>                                        wsdl20/extensions/ wsdl20/xml/)
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> John,
> 
> Could we please use XmlSchema?
> (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
> 
> That way we are not stuck to a specifc version of Xerces.
> 
> -- dims
> 
> On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
> > Author: jkaputin
> > Date: Tue Sep  6 07:55:53 2005
> > New Revision: 279015
> >
> > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
> > Log:
> > Added DOM parsing of schema and schema import using XML
> >
> > Schema API (XSModel) to access element and types.
> >
> > Modified:
> > incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
> 
> >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
> 
> >
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
> 
> > incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> 
> >
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> 
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > --- 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> (original)
> > +++ 
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> Tue Sep  6 07:55:53 2005
> > @@ -27,6 +27,18 @@
> >  import org.xml.sax.InputSource;
> >
> >  import org.xml.sax.SAXException;
> >
> >
> >
> > +//JK temporary imports (pending TODOs)
> >
> > +
> >
> > +import com.ibm.wsdl.util.xml.DOM2Writer;
> >
> > +
> >
> > +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
> >
> > +import org.apache.xerces.xs.XSImplementation;
> >
> > +import org.apache.xerces.xs.XSLoader;
> >
> > +import org.apache.xerces.xs.XSModel;
> >
> > +
> >
> > +import org.w3c.dom.ls.DOMImplementationLS;
> >
> > +import org.w3c.dom.ls.LSInput;
> >
> > +
> >
> >  import temp.WSDLException;
> >
> >
> >
> >  /**
> >
> > @@ -164,7 +176,7 @@
> > DescriptionElement
> desc)
> >
> >      {
> >
> >          DocumentationElement documentation =
> desc.createDocumentationElement();
> >
> > -        documentation.setContentModel(docEl);
> >
> > +        documentation.setContent(docEl);
> >
> >          return documentation;
> >
> >      }
> >
> >
> >
> > @@ -189,18 +201,81 @@
> >       * TODO Initial schema parsing is specific to XML Schema.
> >
> >       * Need generic support for other type systems.
> >
> >       * Consider extension architecture with serializer/deserializer.
> >
> > +     *
> >
> > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> >
> > +     * schema and parse elements and types. This will create a Xerces
> >
> > +     * parser dependency on the Woden DOM implementation (rather than
> >
> > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> >
> >       */
> >
> >      private Schema parseSchemaInline(Element schemaEl,
> >
> >                                       TypesElement desc)
> >
> >                                       throws WSDLException
> >
> >      {
> >
> > -        Schema schema = new SchemaImpl();
> >
> > +        SchemaImpl schema = new SchemaImpl();
> >
> >
> >
> >          schema.setTargetNamespace(
> >
> >              DOMUtils.getAttribute(schemaEl,
> Constants.ATTR_TARGET_NAMESPACE));
> >
> >
> >
> > -        schema.setContentModel(schemaEl);
> >
> > +        //TODO the type system will depend on the WSDL doc so 
consider
> >
> > +        //parameterizing it. Fixed with an XML Schema constant for 
now.
> >
> > +
> >
> > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema
> type system
> >
> > +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema 
API
> >
> >
> >
> > +        //TODO currently only the XSModel is stored in Schema.
> >
> > +        //The DOM element representing the schema is not stored.
> >
> > +        //Either might be useful to an application dealing
> >
> > +        //with the underlying types (e.g. generator tooling).
> >
> > +        //So consider changing Schema so that it stores both.
> >
> > +        //Perhaps using a Map with a ContentModel/Content pair.
> >
> > +
> >
> > +        try {
> >
> > +            //create an LSInput object to hold the schema string
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry domRegistry =
> >
> > +                DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            DOMImplementationLS domImpl =
> >
> > +
> (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
> >
> > +
> >
> > +            LSInput lsInput = domImpl.createLSInput();
> >
> > +
> >
> > +            //store the schema as a string in the LSInput
> >
> > +            String schemaString = DOM2Writer.nodeToString(schemaEl);
> >
> > +            System.out.println(schemaString);
> >
> > +            lsInput.setStringData(schemaString);
> >
> > +
> >
> > +            //Use DOM level 3 bootstrap to get an XSModel of the 
schema
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > + "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry xsRegistry =
> DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            XSImplementation xsImpl =
> >
> > +                (XSImplementation)
> xsRegistry.getDOMImplementation("XS-Loader");
> >
> > +
> >
> > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >
> > +
> >
> > +            XSModel xsModel = xsLoader.load(lsInput);
> >
> > +
> >
> > +            schema.setContent(xsModel);
> >
> > +
> >
> > +            /*
> >
> > +             * print out the schema elements
> >
> > +             *
> >
> > +            XSNamedMap xsNamedMap =
> xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >
> > +            System.out.println("\nInline schema elements (" +
> xsNamedMap.getLength() +"):");
> >
> > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >
> > +            {
> >
> > +                System.out.println( (xsNamedMap.item(i)).getName() );
> >
> > +            }
> >
> > +             */
> >
> > +
> >
> > +        } catch (Exception e) {
> >
> > +            // TODO consider appropriate exceptions
> >
> > +            e.printStackTrace();
> >
> > +        }
> >
> > +
> >
> >          return schema;
> >
> >      }
> >
> >
> >
> > @@ -208,19 +283,67 @@
> >       * TODO Initial schema parsing is specific to XML Schema.
> >
> >       * Need generic support for other type systems.
> >
> >       * Consider extension architecture with serializer/deserializer.
> >
> > +     *
> >
> > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> >
> > +     * schema and parse elements and types. This will create a Xerces
> >
> > +     * parser dependency on the Woden DOM implementation (rather than
> >
> > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> >
> >       */
> >
> > -    private SchemaImport parseSchemaImport(Element schemaEl,
> >
> > +    private SchemaImport parseSchemaImport(Element importEl,
> >
> >                                             TypesElement types)
> >
> >                                             throws WSDLException
> >
> >      {
> >
> > -        SchemaImport schemaImport = new SchemaImportImpl();
> >
> > +        //TODO use extension architecture aka WSDL4J
> >
> > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
> >
> >
> >
> >          schemaImport.setNamespace(
> >
> > -            DOMUtils.getAttribute(schemaEl, 
Constants.ATTR_NAMESPACE));
> >
> > +            DOMUtils.getAttribute(importEl, 
Constants.ATTR_NAMESPACE));
> >
> >
> >
> >          schemaImport.setSchemaLocation(
> >
> > -            DOMUtils.getAttribute(schemaEl,
> SchemaConstants.ATTR_SCHEMA_LOCATION));
> >
> > +            DOMUtils.getAttribute(importEl,
> SchemaConstants.ATTR_SCHEMA_LOCATION));
> >
> > +
> >
> > +        //TODO currently only the XSModel is stored in Schema.
> >
> > +        //The DOM element representing the schema is not stored.
> >
> > +        //Either might be useful to an application dealing
> >
> > +        //with the underlying types (e.g. generator tooling).
> >
> > +        //So consider changing Schema so that it stores both.
> >
> > +        //Perhaps using a Map with a ContentModel/Content pair.
> >
> > +
> >
> > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
> Schema type system
> >
> > +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML
> Schema API
> >
> >
> >
> > +        try {
> >
> > +            //Use DOM level 3 bootstrap to get an XSModel of the 
schema
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > + "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry xsRegistry =
> DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            XSImplementation xsImpl =
> >
> > +                (XSImplementation)
> xsRegistry.getDOMImplementation("XS-Loader");
> >
> > +
> >
> > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >
> > +
> >
> > +            String sloc = schemaImport.getSchemaLocation();
> >
> > +            XSModel xsModel = xsLoader.loadURI(sloc);
> >
> > +
> >
> > +            schemaImport.setContent(xsModel);
> >
> > +
> >
> > +            /*
> >
> > +             * print out the schema elements
> >
> > +             *
> >
> > +            XSNamedMap xsNamedMap =
> xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >
> > +            System.out.println("\nImported schema elements (" +
> xsNamedMap.getLength() +"):");
> >
> > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >
> > +            {
> >
> > +                System.out.println( (xsNamedMap.item(i)).getName() );
> >
> > +            }
> >
> > +             */
> >
> > +
> >
> > +        } catch (Exception e) {
> >
> > +            // TODO consider appropriate exceptions
> >
> > +            e.printStackTrace();
> >
> > +        }
> >
> > +
> >
> >          return schemaImport;
> >
> >      }
> >
> >
> >
> > @@ -235,11 +358,11 @@
> >      {
> >
> >          TypesElement types = desc.createTypesElement();
> >
> >
> >
> > -
> >
> > -
> >
> > +        //TODO for now, set to XML Schema namespace. Later,
> >
> > +        //add support for non-XML Schema type systems
> >
> > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
> >
> >
> >
> >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
> >
> > -
> >
> >
> >
> >          while (tempEl != null)
> >
> >          {
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> Tue Sep  6 07:55:53 2005
> > @@ -104,6 +104,15 @@
> >      public static final String ATTR_BINDING = "binding";
> >
> >      public static final String ATTR_LOCATION = "address";
> >
> >
> >
> > +    //Type systems or content models
> >
> > +    public static final String TYPE_XSD_2001 =
> >
> > +        "http://www.w3.org/2001/XMLSchema";
> >
> > +    public static final String TYPE_DOM_API =
> >
> > +        "org.w3c.dom";
> >
> > +    public static final String TYPE_XS_API =
> >
> > +        "org.apache.xerces.xs";
> >
> > +
> >
> > +
> >
> >    //TODO determine if/how these needed
> >
> >    public static final String ATTR_XMLNS = "xmlns";
> >
> >    public static final String ATTR_NAMESPACE = "namespace";
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -16,22 +16,22 @@
> >   */
> >
> >  public class DocumentationImpl implements DocumentationElement {
> >
> >
> >
> > -    private Object fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> 
org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
> 
> >
> >       */
> >
> > -    public void setContentModel(Object docEl)
> >
> > +    public void setContent(Object docEl)
> >
> >      {
> >
> > -        this.fContentModel = docEl;
> >
> > +        this.fContent = docEl;
> >
> >      }
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
> >
> >       */
> >
> > -    public Object getContentModel()
> >
> > +    public Object getContent()
> >
> >      {
> >
> > -        return this.fContentModel;
> >
> > +        return this.fContent;
> >
> >      }
> >
> >
> >
> >  }
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -21,13 +21,14 @@
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public class InterfaceImpl implements Interface, InterfaceElement {
> >
> > +
> >
> > +    QName fName;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see org.apache.woden.wsdl20.Interface#getName()
> >
> >       */
> >
> >      public QName getName() {
> >
> > -        // TODO Auto-generated method stub
> >
> > -        return null;
> >
> > +        return fName;
> >
> >      }
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> Tue Sep  6 07:55:53 2005
> > @@ -27,6 +27,7 @@
> >  public class TypesImpl implements TypesElement {
> >
> >
> >
> >      private DocumentationElement fDocumentation;
> >
> > +    private String fTypeSystem;
> >
> >      private Map fSchemaImports = new HashMap();
> >
> >      private Map fSchemas = new HashMap();
> >
> >
> >
> > @@ -40,6 +41,16 @@
> >      public DocumentationElement getDocumentationElement()
> >
> >      {
> >
> >          return fDocumentation;
> >
> > +    }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return fTypeSystem;
> >
> >      }
> >
> >
> >
> >      /*
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -6,14 +6,16 @@
> >  import org.apache.woden.wsdl20.extensions.Schema;
> >
> >
> >
> >  /**
> >
> > - * A wrapper for a <xs:schema> element.
> >
> > + * A wrapper for a &lt;xs:schema&gt; element.
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public class SchemaImpl implements Schema {
> >
> >
> >
> >      private String fTargetNamespace;
> >
> > -    private Object fContentModel;
> >
> > +    private String fTypeSystem;
> >
> > +    private String fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> 
org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
> 
> >
> > @@ -30,15 +32,35 @@
> >      {
> >
> >          return fTargetNamespace;
> >
> >      }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return fTypeSystem;
> >
> > +    }
> >
> >
> >
> > -    public void setContentModel(Object schemaEl)
> >
> > +    public void setContentModel(String contentModel)
> >
> >      {
> >
> > -        fContentModel = schemaEl;
> >
> > +        fContentModel = contentModel;
> >
> >      }
> >
> >
> >
> > -    public Object getContentModel()
> >
> > +    public String getContentModel()
> >
> >      {
> >
> >          return fContentModel;
> >
> > +    }
> >
> > +
> >
> > +    public void setContent(Object schemaContent)
> >
> > +    {
> >
> > +        fContent = schemaContent;
> >
> > +    }
> >
> > +
> >
> > +    public Object getContent()
> >
> > +    {
> >
> > +        return fContent;
> >
> >      }
> >
> >
> >
> >  }
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -6,9 +6,7 @@
> >  import org.apache.woden.wsdl20.extensions.SchemaImport;
> >
> >
> >
> >  /**
> >
> > - * This interface represents the XML element information item for
> >
> > - * a &lt;xs:import&gt; element. It declares the behaviour required to
> >
> > - * support parsing, creating and manipulating a &lt;xs:import&gt;
> element.
> >
> > + * A wrapper for a &lt;xs:import&gt; element.
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> > @@ -16,6 +14,9 @@
> >
> >
> >      private String fNamespace = null;
> >
> >      private String fSchemaLocation = null;
> >
> > +    private String fTypeSystem;
> >
> > +    private String fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> 
org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
> 
> >
> > @@ -49,5 +50,34 @@
> >      {
> >
> >          return this.fSchemaLocation;
> >
> >      }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        this.fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return this.fTypeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public void setContentModel(String contentModel)
> >
> > +    {
> >
> > +        this.fContentModel = contentModel;
> >
> > +    }
> >
> > +
> >
> > +    public String getContentModel()
> >
> > +    {
> >
> > +        return this.fContentModel;
> >
> > +    }
> >
> >
> >
> > +    public void setContent(Object importedSchemaContent)
> >
> > +    {
> >
> > +        this.fContent = importedSchemaContent;
> >
> > +    }
> >
> > +
> >
> > +    public Object getContent()
> >
> > +    {
> >
> > +        return this.fContent;
> >
> > +    }
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> Tue Sep  6 07:55:53 2005
> > @@ -8,21 +8,42 @@
> >  /**
> >
> >   * This interface represents the ElementDeclaration component 
described
> >
> >   * in the WSDL 2.0 Component Model specification (within the 
Description
> >
> > - * Component section). This component is used for describing the 
content
> >
> > - * of input, output and fault messages. Although it reflects an XML
> >
> > - * Schema global element declaration (&lt;xs:element&gt.), it does 
not
> >
> > - * impose XML Schema as the type system. Instead it returns a string
> describing
> >
> > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema
"),
> >
> > - * which will indicate how to interpret the content model.
> >
> > + * Component section). An ElementDeclaration refers to an element, 
such
> as
> >
> > + * a global element declaration in the XML Schema type system
> >
> > + * (&lt;xs:element&gt.), that describes the content of WSDL input,
> output
> >
> > + * and fault messages.  However, it does not impose XML Schema as the
> type system.
> >
> > + * It returns a String representing the content model or type system
> >
> > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> >
> > + * representing the content of the element declaration. This Object 
may
> >
> > + * be cast to a type appropriate for the content model.
> >
> > + *
> >
> > + * TODO consider using woden specific package style names for the 
type
> >
> > + * system and content model constants, so that these can be 
configured
> or
> >
> > + * defaulted prior to parsing and then referred to in a standard way 
via
> the API
> >
> > + * (e.g.
> >
> > + * org.apache.woden.XML_Schema_Type_System,
> >
> > + * org.apache.woden.DOM_Content_Model,
> >
> > + * org.apache.woden.XML_Schema_API_Content_Model).
> >
> >   *
> >
> > + *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public interface ElementDeclaration {
> >
> >
> >
> >      public QName getName();
> >
> >
> >
> > +    /*
> >
> > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >
> > +     */
> >
> >      public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    /*
> >
> > +     * Indicates the type of model or API used to represent the 
content.
> >
> > +     * For example, "org.w3c.dom" for a DOM Element or
> >
> > +     * "org.apache.xerces.xs" for an XML Schema API
> XSElementDeclaration.
> >
> > +     */
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  Tue Sep  6 07:55:53 2005
> > @@ -13,6 +13,13 @@
> >
> >
> >      public String getDirection();
> >
> >
> >
> > +    /**
> >
> > +     * Indicates the type of message content.#any means any single
> element,
> >
> > +     * #none means no message content, #other means non-XML extension
> type system
> >
> > +     * or #element means XML Schema global element definition.
> >
> > +     *
> >
> > +     * @return string representing the type of message content
> >
> > +     */
> >
> >      public String getMessageContentModel();
> >
> >
> >
> >      public ElementDeclaration getElementDeclaration();
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > --- 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> (original)
> > +++ 
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> Tue Sep  6 07:55:53 2005
> > @@ -8,12 +8,22 @@
> >  /**
> >
> >   * This interface represents the TypeDefinition component described
> >
> >   * in the WSDL 2.0 Component Model specification (within the 
Description
> >
> > - * Component section). This component is used for describing simple 
or
> >
> > - * complex data types. Although it reflects an XML Schema global type
> >
> > - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it 
does
> not
> >
> > - * impose XML Schema as the type system. Instead it returns a string
> describing
> >
> > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema
"),
> >
> > - * which will indicate how to interpret the content model.
> >
> > + * Component section). This component refers to simple or complex 
data
> types
> >
> > + * defined in a type system such as XML Schema
> >
> > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
> >
> > + * However, it does not impose XML Schema as the type system.
> >
> > + * It returns a String representing the content model or type system
> >
> > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> >
> > + * representing the content of the type definition. This Object may
> >
> > + * be cast to a type appropriate for the content model.
> >
> > + *
> >
> > + * TODO consider using woden specific package style names for the 
type
> >
> > + * system and content model constants, so that these can be 
configured
> or
> >
> > + * defaulted prior to parsing and then referred to in a standard way 
via
> the API
> >
> > + * (e.g.
> >
> > + * org.apache.woden.XML_Schema_Type_System,
> >
> > + * org.apache.woden.DOM_Content_Model,
> >
> > + * org.apache.woden.XML_Schema_API_Content_Model).
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> > @@ -21,8 +31,18 @@
> >
> >
> >      public QName getName();
> >
> >
> >
> > +    /*
> >
> > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >
> > +     */
> >
> >      public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    /*
> >
> > +     * Indicates the type of model or API used to represent the 
content.
> >
> > +     * For example, "org.w3c.dom" for a DOM Element or
> >
> > +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
> >
> > +     */
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java 
Tue
> Sep  6 07:55:53 2005
> > @@ -17,8 +17,10 @@
> >
> >
> >      public String getTargetNamespace();
> >
> >
> >
> > -    public void setContentModel(Object schemaEl);
> >
> > +    public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  Tue Sep  6 07:55:53 2005
> > @@ -20,4 +20,9 @@
> >
> >
> >      public String getSchemaLocation();
> >
> >
> >
> > +    public String getTypeSystem();
> >
> > +
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >  }
> >
> >
> > Modified:
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> 
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  (original)
> > +++
> 
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  Tue Sep  6 07:55:53 2005
> > @@ -13,7 +13,7 @@
> >   */
> >
> >  public interface DocumentationElement extends WSDL20Element {
> >
> >
> >
> > -    public void setContentModel(Object docEl);
> >
> > +    public void setContent(Object docEl);
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    public Object getContent();
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> > URL:
> 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff

> 
> >
> 
==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java 
Tue
> Sep  6 07:55:53 2005
> > @@ -31,19 +31,37 @@
> >
> >
> >      public DocumentationElement getDocumentationElement();
> >
> >
> >
> > +    /**
> >
> > +     * Indicate the type system used within the &lt;types&gt;
> >
> > +     * element. Typically the XML Schema type system will be
> >
> > +     * used, represented by the XML Schema namespace
> >
> > +     * "http://www.w3.org/2001/XMLSchema".
> >
> > +     */
> >
> > +    public void setTypeSystem(String typeSystem);
> >
> > +
> >
> > +    /**
> >
> > +     * Get the string indicating the type system used within the
> &lt;types&gt;
> >
> > +     * element.
> >
> > +     */
> >
> > +    public String getTypeSystem();
> >
> > +
> >
> >      /*
> >
> >       * Schema imports &lt;xs:import&gt; are stored in a Map of
> SchemaImport[]
> >
> >       * keyed by namespace. The schemaLocation attribute will 
distinguish
> >
> >       * schemas imported with the same namespace.
> >
> >       */
> >
> >
> >
> > +    /**
> >
> > +     * Add a SchemaImport to the schemas imported within the
> &lt;types&gt; element.
> >
> > +     */
> >
> >      public void addSchemaImport(SchemaImport schemaImport);
> >
> >
> >
> >      //TODO what if schemaLoc is null and there is more than one 
import
> for this namespace?
> >
> >      //Delete all or raise an error?
> >
> >
> >
> >      /**
> >
> > -     * Add a SchemaImport to the schemas imported within the
> &lt;types&gt; element.
> >
> > +     * Remove a SchemaImport from the list of schemas imported
> >
> > +     * within the &lt;types&gt; element.
> >
> >       */
> >
> >      public void removeSchemaImport(String namespace, String 
schemaLoc);
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: woden-dev-help@ws.apache.org
> >
> >
> 
> 
> --
> Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service 
Platform
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org



Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
It's used in Axis2 (Please use the SchemaBuilder -
http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java)

-- dims

On 9/8/05, John Kaputin <KA...@uk.ibm.com> wrote:
> Dims,
> I've been looking without success for info or code samples on using
> XmlSchema. e.g. the programming model for creating an XmlSchema object.
> Searched the java source in CVS ws-axis and SVN axis for
> 'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any references. Is
> it being used yet?
> 
> 
> John Kaputin
> 
> 
> 
> 
>              Davanum Srinivas
>              <davanum@gmail.co
>              m>                                                         To
>                                        woden-dev@ws.apache.org
>              06/09/2005 16:06                                           cc
> 
>                                                                    Subject
>              Please respond to         (Re: svn commit: r279015 - in
>                  woden-dev             /incubator/woden/java/src/org/apach
>                                        e/woden: internal/ internal/wsdl20/
>                                        internal/wsdl20/extensions/ wsdl20/
>                                        wsdl20/extensions/ wsdl20/xml/)
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> John,
> 
> Could we please use XmlSchema?
> (http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)
> 
> That way we are not stuck to a specifc version of Xerces.
> 
> -- dims
> 
> On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
> > Author: jkaputin
> > Date: Tue Sep  6 07:55:53 2005
> > New Revision: 279015
> >
> > URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
> > Log:
> > Added DOM parsing of schema and schema import using XML
> >
> > Schema API (XSModel) to access element and types.
> >
> > Modified:
> >     incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
> 
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
> 
> >     incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> 
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> 
> >
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> (original)
> > +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> Tue Sep  6 07:55:53 2005
> > @@ -27,6 +27,18 @@
> >  import org.xml.sax.InputSource;
> >
> >  import org.xml.sax.SAXException;
> >
> >
> >
> > +//JK temporary imports (pending TODOs)
> >
> > +
> >
> > +import com.ibm.wsdl.util.xml.DOM2Writer;
> >
> > +
> >
> > +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
> >
> > +import org.apache.xerces.xs.XSImplementation;
> >
> > +import org.apache.xerces.xs.XSLoader;
> >
> > +import org.apache.xerces.xs.XSModel;
> >
> > +
> >
> > +import org.w3c.dom.ls.DOMImplementationLS;
> >
> > +import org.w3c.dom.ls.LSInput;
> >
> > +
> >
> >  import temp.WSDLException;
> >
> >
> >
> >  /**
> >
> > @@ -164,7 +176,7 @@
> >                                                      DescriptionElement
> desc)
> >
> >      {
> >
> >          DocumentationElement documentation =
> desc.createDocumentationElement();
> >
> > -        documentation.setContentModel(docEl);
> >
> > +        documentation.setContent(docEl);
> >
> >          return documentation;
> >
> >      }
> >
> >
> >
> > @@ -189,18 +201,81 @@
> >       * TODO Initial schema parsing is specific to XML Schema.
> >
> >       * Need generic support for other type systems.
> >
> >       * Consider extension architecture with serializer/deserializer.
> >
> > +     *
> >
> > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> >
> > +     * schema and parse elements and types. This will create a Xerces
> >
> > +     * parser dependency on the Woden DOM implementation (rather than
> >
> > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> >
> >       */
> >
> >      private Schema parseSchemaInline(Element schemaEl,
> >
> >                                       TypesElement desc)
> >
> >                                       throws WSDLException
> >
> >      {
> >
> > -        Schema schema = new SchemaImpl();
> >
> > +        SchemaImpl schema = new SchemaImpl();
> >
> >
> >
> >          schema.setTargetNamespace(
> >
> >              DOMUtils.getAttribute(schemaEl,
> Constants.ATTR_TARGET_NAMESPACE));
> >
> >
> >
> > -        schema.setContentModel(schemaEl);
> >
> > +        //TODO the type system will depend on the WSDL doc so consider
> >
> > +        //parameterizing it. Fixed with an XML Schema constant for now.
> >
> > +
> >
> > +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema
> type system
> >
> > +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
> >
> >
> >
> > +        //TODO currently only the XSModel is stored in Schema.
> >
> > +        //The DOM element representing the schema is not stored.
> >
> > +        //Either might be useful to an application dealing
> >
> > +        //with the underlying types (e.g. generator tooling).
> >
> > +        //So consider changing Schema so that it stores both.
> >
> > +        //Perhaps using a Map with a ContentModel/Content pair.
> >
> > +
> >
> > +        try {
> >
> > +            //create an LSInput object to hold the schema string
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry domRegistry =
> >
> > +                DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            DOMImplementationLS domImpl =
> >
> > +
> (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
> >
> > +
> >
> > +            LSInput lsInput = domImpl.createLSInput();
> >
> > +
> >
> > +            //store the schema as a string in the LSInput
> >
> > +            String schemaString = DOM2Writer.nodeToString(schemaEl);
> >
> > +            System.out.println(schemaString);
> >
> > +            lsInput.setStringData(schemaString);
> >
> > +
> >
> > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry xsRegistry =
> DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            XSImplementation xsImpl =
> >
> > +                (XSImplementation)
> xsRegistry.getDOMImplementation("XS-Loader");
> >
> > +
> >
> > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >
> > +
> >
> > +            XSModel xsModel = xsLoader.load(lsInput);
> >
> > +
> >
> > +            schema.setContent(xsModel);
> >
> > +
> >
> > +            /*
> >
> > +             * print out the schema elements
> >
> > +             *
> >
> > +            XSNamedMap xsNamedMap =
> xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >
> > +            System.out.println("\nInline schema elements (" +
> xsNamedMap.getLength() +"):");
> >
> > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >
> > +            {
> >
> > +                System.out.println( (xsNamedMap.item(i)).getName() );
> >
> > +            }
> >
> > +             */
> >
> > +
> >
> > +        } catch (Exception e) {
> >
> > +            // TODO consider appropriate exceptions
> >
> > +            e.printStackTrace();
> >
> > +        }
> >
> > +
> >
> >          return schema;
> >
> >      }
> >
> >
> >
> > @@ -208,19 +283,67 @@
> >       * TODO Initial schema parsing is specific to XML Schema.
> >
> >       * Need generic support for other type systems.
> >
> >       * Consider extension architecture with serializer/deserializer.
> >
> > +     *
> >
> > +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> >
> > +     * schema and parse elements and types. This will create a Xerces
> >
> > +     * parser dependency on the Woden DOM implementation (rather than
> >
> > +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> >
> >       */
> >
> > -    private SchemaImport parseSchemaImport(Element schemaEl,
> >
> > +    private SchemaImport parseSchemaImport(Element importEl,
> >
> >                                             TypesElement types)
> >
> >                                             throws WSDLException
> >
> >      {
> >
> > -        SchemaImport schemaImport = new SchemaImportImpl();
> >
> > +        //TODO use extension architecture aka WSDL4J
> >
> > +        SchemaImportImpl schemaImport = new SchemaImportImpl();
> >
> >
> >
> >          schemaImport.setNamespace(
> >
> > -            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
> >
> > +            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
> >
> >
> >
> >          schemaImport.setSchemaLocation(
> >
> > -            DOMUtils.getAttribute(schemaEl,
> SchemaConstants.ATTR_SCHEMA_LOCATION));
> >
> > +            DOMUtils.getAttribute(importEl,
> SchemaConstants.ATTR_SCHEMA_LOCATION));
> >
> > +
> >
> > +        //TODO currently only the XSModel is stored in Schema.
> >
> > +        //The DOM element representing the schema is not stored.
> >
> > +        //Either might be useful to an application dealing
> >
> > +        //with the underlying types (e.g. generator tooling).
> >
> > +        //So consider changing Schema so that it stores both.
> >
> > +        //Perhaps using a Map with a ContentModel/Content pair.
> >
> > +
> >
> > +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
> Schema type system
> >
> > +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML
> Schema API
> >
> >
> >
> > +        try {
> >
> > +            //Use DOM level 3 bootstrap to get an XSModel of the schema
> >
> > +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> >
> > +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> >
> > +            DOMImplementationRegistry xsRegistry =
> DOMImplementationRegistry.newInstance();
> >
> > +
> >
> > +            XSImplementation xsImpl =
> >
> > +                (XSImplementation)
> xsRegistry.getDOMImplementation("XS-Loader");
> >
> > +
> >
> > +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> >
> > +
> >
> > +            String sloc = schemaImport.getSchemaLocation();
> >
> > +            XSModel xsModel = xsLoader.loadURI(sloc);
> >
> > +
> >
> > +            schemaImport.setContent(xsModel);
> >
> > +
> >
> > +            /*
> >
> > +             * print out the schema elements
> >
> > +             *
> >
> > +            XSNamedMap xsNamedMap =
> xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> >
> > +            System.out.println("\nImported schema elements (" +
> xsNamedMap.getLength() +"):");
> >
> > +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> >
> > +            {
> >
> > +                System.out.println( (xsNamedMap.item(i)).getName() );
> >
> > +            }
> >
> > +             */
> >
> > +
> >
> > +        } catch (Exception e) {
> >
> > +            // TODO consider appropriate exceptions
> >
> > +            e.printStackTrace();
> >
> > +        }
> >
> > +
> >
> >          return schemaImport;
> >
> >      }
> >
> >
> >
> > @@ -235,11 +358,11 @@
> >      {
> >
> >          TypesElement types = desc.createTypesElement();
> >
> >
> >
> > -
> >
> > -
> >
> > +        //TODO for now, set to XML Schema namespace. Later,
> >
> > +        //add support for non-XML Schema type systems
> >
> > +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
> >
> >
> >
> >          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
> >
> > -
> >
> >
> >
> >          while (tempEl != null)
> >
> >          {
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> Tue Sep  6 07:55:53 2005
> > @@ -104,6 +104,15 @@
> >      public static final String ATTR_BINDING = "binding";
> >
> >      public static final String ATTR_LOCATION = "address";
> >
> >
> >
> > +    //Type systems or content models
> >
> > +    public static final String TYPE_XSD_2001 =
> >
> > +        "http://www.w3.org/2001/XMLSchema";
> >
> > +    public static final String TYPE_DOM_API =
> >
> > +        "org.w3c.dom";
> >
> > +    public static final String TYPE_XS_API =
> >
> > +        "org.apache.xerces.xs";
> >
> > +
> >
> > +
> >
> >    //TODO determine if/how these needed
> >
> >    public static final String ATTR_XMLNS = "xmlns";
> >
> >    public static final String ATTR_NAMESPACE = "namespace";
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -16,22 +16,22 @@
> >   */
> >
> >  public class DocumentationImpl implements DocumentationElement {
> >
> >
> >
> > -    private Object fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
> 
> >
> >       */
> >
> > -    public void setContentModel(Object docEl)
> >
> > +    public void setContent(Object docEl)
> >
> >      {
> >
> > -        this.fContentModel = docEl;
> >
> > +        this.fContent = docEl;
> >
> >      }
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
> >
> >       */
> >
> > -    public Object getContentModel()
> >
> > +    public Object getContent()
> >
> >      {
> >
> > -        return this.fContentModel;
> >
> > +        return this.fContent;
> >
> >      }
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -21,13 +21,14 @@
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public class InterfaceImpl implements Interface, InterfaceElement {
> >
> > +
> >
> > +    QName fName;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see org.apache.woden.wsdl20.Interface#getName()
> >
> >       */
> >
> >      public QName getName() {
> >
> > -        // TODO Auto-generated method stub
> >
> > -        return null;
> >
> > +        return fName;
> >
> >      }
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> Tue Sep  6 07:55:53 2005
> > @@ -27,6 +27,7 @@
> >  public class TypesImpl implements TypesElement {
> >
> >
> >
> >      private DocumentationElement fDocumentation;
> >
> > +    private String fTypeSystem;
> >
> >      private Map fSchemaImports = new HashMap();
> >
> >      private Map fSchemas = new HashMap();
> >
> >
> >
> > @@ -40,6 +41,16 @@
> >      public DocumentationElement getDocumentationElement()
> >
> >      {
> >
> >          return fDocumentation;
> >
> > +    }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return fTypeSystem;
> >
> >      }
> >
> >
> >
> >      /*
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -6,14 +6,16 @@
> >  import org.apache.woden.wsdl20.extensions.Schema;
> >
> >
> >
> >  /**
> >
> > - * A wrapper for a <xs:schema> element.
> >
> > + * A wrapper for a &lt;xs:schema&gt; element.
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public class SchemaImpl implements Schema {
> >
> >
> >
> >      private String fTargetNamespace;
> >
> > -    private Object fContentModel;
> >
> > +    private String fTypeSystem;
> >
> > +    private String fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
> 
> >
> > @@ -30,15 +32,35 @@
> >      {
> >
> >          return fTargetNamespace;
> >
> >      }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return fTypeSystem;
> >
> > +    }
> >
> >
> >
> > -    public void setContentModel(Object schemaEl)
> >
> > +    public void setContentModel(String contentModel)
> >
> >      {
> >
> > -        fContentModel = schemaEl;
> >
> > +        fContentModel = contentModel;
> >
> >      }
> >
> >
> >
> > -    public Object getContentModel()
> >
> > +    public String getContentModel()
> >
> >      {
> >
> >          return fContentModel;
> >
> > +    }
> >
> > +
> >
> > +    public void setContent(Object schemaContent)
> >
> > +    {
> >
> > +        fContent = schemaContent;
> >
> > +    }
> >
> > +
> >
> > +    public Object getContent()
> >
> > +    {
> >
> > +        return fContent;
> >
> >      }
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>  Tue Sep  6 07:55:53 2005
> > @@ -6,9 +6,7 @@
> >  import org.apache.woden.wsdl20.extensions.SchemaImport;
> >
> >
> >
> >  /**
> >
> > - * This interface represents the XML element information item for
> >
> > - * a &lt;xs:import&gt; element. It declares the behaviour required to
> >
> > - * support parsing, creating and manipulating a &lt;xs:import&gt;
> element.
> >
> > + * A wrapper for a &lt;xs:import&gt; element.
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> > @@ -16,6 +14,9 @@
> >
> >
> >      private String fNamespace = null;
> >
> >      private String fSchemaLocation = null;
> >
> > +    private String fTypeSystem;
> >
> > +    private String fContentModel;
> >
> > +    private Object fContent;
> >
> >
> >
> >      /* (non-Javadoc)
> >
> >       * @see
> org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
> 
> >
> > @@ -49,5 +50,34 @@
> >      {
> >
> >          return this.fSchemaLocation;
> >
> >      }
> >
> > +
> >
> > +    public void setTypeSystem(String typeSystem)
> >
> > +    {
> >
> > +        this.fTypeSystem = typeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public String getTypeSystem()
> >
> > +    {
> >
> > +        return this.fTypeSystem;
> >
> > +    }
> >
> > +
> >
> > +    public void setContentModel(String contentModel)
> >
> > +    {
> >
> > +        this.fContentModel = contentModel;
> >
> > +    }
> >
> > +
> >
> > +    public String getContentModel()
> >
> > +    {
> >
> > +        return this.fContentModel;
> >
> > +    }
> >
> >
> >
> > +    public void setContent(Object importedSchemaContent)
> >
> > +    {
> >
> > +        this.fContent = importedSchemaContent;
> >
> > +    }
> >
> > +
> >
> > +    public Object getContent()
> >
> > +    {
> >
> > +        return this.fContent;
> >
> > +    }
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> Tue Sep  6 07:55:53 2005
> > @@ -8,21 +8,42 @@
> >  /**
> >
> >   * This interface represents the ElementDeclaration component described
> >
> >   * in the WSDL 2.0 Component Model specification (within the Description
> >
> > - * Component section). This component is used for describing the content
> >
> > - * of input, output and fault messages. Although it reflects an XML
> >
> > - * Schema global element declaration (&lt;xs:element&gt.), it does not
> >
> > - * impose XML Schema as the type system. Instead it returns a string
> describing
> >
> > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
> >
> > - * which will indicate how to interpret the content model.
> >
> > + * Component section). An ElementDeclaration refers to an element, such
> as
> >
> > + * a global element declaration in the XML Schema type system
> >
> > + * (&lt;xs:element&gt.), that describes the content of WSDL input,
> output
> >
> > + * and fault messages.  However, it does not impose XML Schema as the
> type system.
> >
> > + * It returns a String representing the content model or type system
> >
> > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> >
> > + * representing the content of the element declaration. This Object may
> >
> > + * be cast to a type appropriate for the content model.
> >
> > + *
> >
> > + * TODO consider using woden specific package style names for the type
> >
> > + * system and content model constants, so that these can be configured
> or
> >
> > + * defaulted prior to parsing and then referred to in a standard way via
> the API
> >
> > + * (e.g.
> >
> > + * org.apache.woden.XML_Schema_Type_System,
> >
> > + * org.apache.woden.DOM_Content_Model,
> >
> > + * org.apache.woden.XML_Schema_API_Content_Model).
> >
> >   *
> >
> > + *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> >  public interface ElementDeclaration {
> >
> >
> >
> >      public QName getName();
> >
> >
> >
> > +    /*
> >
> > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >
> > +     */
> >
> >      public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    /*
> >
> > +     * Indicates the type of model or API used to represent the content.
> >
> > +     * For example, "org.w3c.dom" for a DOM Element or
> >
> > +     * "org.apache.xerces.xs" for an XML Schema API
> XSElementDeclaration.
> >
> > +     */
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>  Tue Sep  6 07:55:53 2005
> > @@ -13,6 +13,13 @@
> >
> >
> >      public String getDirection();
> >
> >
> >
> > +    /**
> >
> > +     * Indicates the type of message content.#any means any single
> element,
> >
> > +     * #none means no message content, #other means non-XML extension
> type system
> >
> > +     * or #element means XML Schema global element definition.
> >
> > +     *
> >
> > +     * @return string representing the type of message content
> >
> > +     */
> >
> >      public String getMessageContentModel();
> >
> >
> >
> >      public ElementDeclaration getElementDeclaration();
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > --- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> (original)
> > +++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> Tue Sep  6 07:55:53 2005
> > @@ -8,12 +8,22 @@
> >  /**
> >
> >   * This interface represents the TypeDefinition component described
> >
> >   * in the WSDL 2.0 Component Model specification (within the Description
> >
> > - * Component section). This component is used for describing simple or
> >
> > - * complex data types. Although it reflects an XML Schema global type
> >
> > - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does
> not
> >
> > - * impose XML Schema as the type system. Instead it returns a string
> describing
> >
> > - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
> >
> > - * which will indicate how to interpret the content model.
> >
> > + * Component section). This component refers to simple or complex data
> types
> >
> > + * defined in a type system such as XML Schema
> >
> > + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
> >
> > + * However, it does not impose XML Schema as the type system.
> >
> > + * It returns a String representing the content model or type system
> >
> > + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> >
> > + * representing the content of the type definition. This Object may
> >
> > + * be cast to a type appropriate for the content model.
> >
> > + *
> >
> > + * TODO consider using woden specific package style names for the type
> >
> > + * system and content model constants, so that these can be configured
> or
> >
> > + * defaulted prior to parsing and then referred to in a standard way via
> the API
> >
> > + * (e.g.
> >
> > + * org.apache.woden.XML_Schema_Type_System,
> >
> > + * org.apache.woden.DOM_Content_Model,
> >
> > + * org.apache.woden.XML_Schema_API_Content_Model).
> >
> >   *
> >
> >   * @author jkaputin@apache.org
> >
> >   */
> >
> > @@ -21,8 +31,18 @@
> >
> >
> >      public QName getName();
> >
> >
> >
> > +    /*
> >
> > +     * e.g. "http://www.w3.org/2001/XMLSchema"
> >
> > +     */
> >
> >      public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    /*
> >
> > +     * Indicates the type of model or API used to represent the content.
> >
> > +     * For example, "org.w3c.dom" for a DOM Element or
> >
> > +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
> >
> > +     */
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue
> Sep  6 07:55:53 2005
> > @@ -17,8 +17,10 @@
> >
> >
> >      public String getTargetNamespace();
> >
> >
> >
> > -    public void setContentModel(Object schemaEl);
> >
> > +    public String getTypeSystem();
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>  Tue Sep  6 07:55:53 2005
> > @@ -20,4 +20,9 @@
> >
> >
> >      public String getSchemaLocation();
> >
> >
> >
> > +    public String getTypeSystem();
> >
> > +
> >
> > +    public String getContentModel();
> >
> > +
> >
> > +    public Object getContent();
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> 
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>  Tue Sep  6 07:55:53 2005
> > @@ -13,7 +13,7 @@
> >   */
> >
> >  public interface DocumentationElement extends WSDL20Element {
> >
> >
> >
> > -    public void setContentModel(Object docEl);
> >
> > +    public void setContent(Object docEl);
> >
> >
> >
> > -    public Object getContentModel();
> >
> > +    public Object getContent();
> >
> >  }
> >
> >
> > Modified:
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> > URL:
> http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff
> 
> >
> ==============================================================================
> 
> > ---
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> (original)
> > +++
> incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue
> Sep  6 07:55:53 2005
> > @@ -31,19 +31,37 @@
> >
> >
> >      public DocumentationElement getDocumentationElement();
> >
> >
> >
> > +    /**
> >
> > +     * Indicate the type system used within the &lt;types&gt;
> >
> > +     * element. Typically the XML Schema type system will be
> >
> > +     * used, represented by the XML Schema namespace
> >
> > +     * "http://www.w3.org/2001/XMLSchema".
> >
> > +     */
> >
> > +    public void setTypeSystem(String typeSystem);
> >
> > +
> >
> > +    /**
> >
> > +     * Get the string indicating the type system used within the
> &lt;types&gt;
> >
> > +     * element.
> >
> > +     */
> >
> > +    public String getTypeSystem();
> >
> > +
> >
> >      /*
> >
> >       * Schema imports &lt;xs:import&gt; are stored in a Map of
> SchemaImport[]
> >
> >       * keyed by namespace. The schemaLocation attribute will distinguish
> >
> >       * schemas imported with the same namespace.
> >
> >       */
> >
> >
> >
> > +    /**
> >
> > +     * Add a SchemaImport to the schemas imported within the
> &lt;types&gt; element.
> >
> > +     */
> >
> >      public void addSchemaImport(SchemaImport schemaImport);
> >
> >
> >
> >      //TODO what if schemaLoc is null and there is more than one import
> for this namespace?
> >
> >      //Delete all or raise an error?
> >
> >
> >
> >      /**
> >
> > -     * Add a SchemaImport to the schemas imported within the
> &lt;types&gt; element.
> >
> > +     * Remove a SchemaImport from the list of schemas imported
> >
> > +     * within the &lt;types&gt; element.
> >
> >       */
> >
> >      public void removeSchemaImport(String namespace, String schemaLoc);
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: woden-dev-help@ws.apache.org
> >
> >
> 
> 
> --
> Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


Re: (Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by John Kaputin <KA...@uk.ibm.com>.
Dims,
I've been looking without success for info or code samples on using
XmlSchema. e.g. the programming model for creating an XmlSchema object.
Searched the java source in CVS ws-axis and SVN axis for
'org.apache.axis.xsd' and 'XmlSchema' but couldn't find any references. Is
it being used yet?


John Kaputin



                                                                           
             Davanum Srinivas                                              
             <davanum@gmail.co                                             
             m>                                                         To 
                                       woden-dev@ws.apache.org             
             06/09/2005 16:06                                           cc 
                                                                           
                                                                   Subject 
             Please respond to         (Re: svn commit: r279015 - in       
                 woden-dev             /incubator/woden/java/src/org/apach 
                                       e/woden: internal/ internal/wsdl20/ 
                                       internal/wsdl20/extensions/ wsdl20/ 
                                       wsdl20/extensions/ wsdl20/xml/)     
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




John,

Could we please use XmlSchema?
(http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)

That way we are not stuck to a specifc version of Xerces.

-- dims

On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
> Author: jkaputin
> Date: Tue Sep  6 07:55:53 2005
> New Revision: 279015
>
> URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
> Log:
> Added DOM parsing of schema and schema import using XML
>
> Schema API (XSModel) to access element and types.
>
> Modified:
>     incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java

>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java

>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java

>
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java

>
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java

>     incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java

>
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java

>
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
(original)
> +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
Tue Sep  6 07:55:53 2005
> @@ -27,6 +27,18 @@
>  import org.xml.sax.InputSource;
>
>  import org.xml.sax.SAXException;
>
>
>
> +//JK temporary imports (pending TODOs)
>
> +
>
> +import com.ibm.wsdl.util.xml.DOM2Writer;
>
> +
>
> +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
>
> +import org.apache.xerces.xs.XSImplementation;
>
> +import org.apache.xerces.xs.XSLoader;
>
> +import org.apache.xerces.xs.XSModel;
>
> +
>
> +import org.w3c.dom.ls.DOMImplementationLS;
>
> +import org.w3c.dom.ls.LSInput;
>
> +
>
>  import temp.WSDLException;
>
>
>
>  /**
>
> @@ -164,7 +176,7 @@
>                                                      DescriptionElement
desc)
>
>      {
>
>          DocumentationElement documentation =
desc.createDocumentationElement();
>
> -        documentation.setContentModel(docEl);
>
> +        documentation.setContent(docEl);
>
>          return documentation;
>
>      }
>
>
>
> @@ -189,18 +201,81 @@
>       * TODO Initial schema parsing is specific to XML Schema.
>
>       * Need generic support for other type systems.
>
>       * Consider extension architecture with serializer/deserializer.
>
> +     *
>
> +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>
> +     * schema and parse elements and types. This will create a Xerces
>
> +     * parser dependency on the Woden DOM implementation (rather than
>
> +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>
>       */
>
>      private Schema parseSchemaInline(Element schemaEl,
>
>                                       TypesElement desc)
>
>                                       throws WSDLException
>
>      {
>
> -        Schema schema = new SchemaImpl();
>
> +        SchemaImpl schema = new SchemaImpl();
>
>
>
>          schema.setTargetNamespace(
>
>              DOMUtils.getAttribute(schemaEl,
Constants.ATTR_TARGET_NAMESPACE));
>
>
>
> -        schema.setContentModel(schemaEl);
>
> +        //TODO the type system will depend on the WSDL doc so consider
>
> +        //parameterizing it. Fixed with an XML Schema constant for now.
>
> +
>
> +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema
type system
>
> +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
>
>
>
> +        //TODO currently only the XSModel is stored in Schema.
>
> +        //The DOM element representing the schema is not stored.
>
> +        //Either might be useful to an application dealing
>
> +        //with the underlying types (e.g. generator tooling).
>
> +        //So consider changing Schema so that it stores both.
>
> +        //Perhaps using a Map with a ContentModel/Content pair.
>
> +
>
> +        try {
>
> +            //create an LSInput object to hold the schema string
>
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>
> +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
>
> +            DOMImplementationRegistry domRegistry =
>
> +                DOMImplementationRegistry.newInstance();
>
> +
>
> +            DOMImplementationLS domImpl =
>
> +
(DOMImplementationLS)domRegistry.getDOMImplementation("LS");
>
> +
>
> +            LSInput lsInput = domImpl.createLSInput();
>
> +
>
> +            //store the schema as a string in the LSInput
>
> +            String schemaString = DOM2Writer.nodeToString(schemaEl);
>
> +            System.out.println(schemaString);
>
> +            lsInput.setStringData(schemaString);
>
> +
>
> +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>
> +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>
> +            DOMImplementationRegistry xsRegistry =
DOMImplementationRegistry.newInstance();
>
> +
>
> +            XSImplementation xsImpl =
>
> +                (XSImplementation)
xsRegistry.getDOMImplementation("XS-Loader");
>
> +
>
> +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>
> +
>
> +            XSModel xsModel = xsLoader.load(lsInput);
>
> +
>
> +            schema.setContent(xsModel);
>
> +
>
> +            /*
>
> +             * print out the schema elements
>
> +             *
>
> +            XSNamedMap xsNamedMap =
xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>
> +            System.out.println("\nInline schema elements (" +
xsNamedMap.getLength() +"):");
>
> +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>
> +            {
>
> +                System.out.println( (xsNamedMap.item(i)).getName() );
>
> +            }
>
> +             */
>
> +
>
> +        } catch (Exception e) {
>
> +            // TODO consider appropriate exceptions
>
> +            e.printStackTrace();
>
> +        }
>
> +
>
>          return schema;
>
>      }
>
>
>
> @@ -208,19 +283,67 @@
>       * TODO Initial schema parsing is specific to XML Schema.
>
>       * Need generic support for other type systems.
>
>       * Consider extension architecture with serializer/deserializer.
>
> +     *
>
> +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
>
> +     * schema and parse elements and types. This will create a Xerces
>
> +     * parser dependency on the Woden DOM implementation (rather than
>
> +     * just a JAXP/SAX/DOM API dependency). To be considered further.
>
>       */
>
> -    private SchemaImport parseSchemaImport(Element schemaEl,
>
> +    private SchemaImport parseSchemaImport(Element importEl,
>
>                                             TypesElement types)
>
>                                             throws WSDLException
>
>      {
>
> -        SchemaImport schemaImport = new SchemaImportImpl();
>
> +        //TODO use extension architecture aka WSDL4J
>
> +        SchemaImportImpl schemaImport = new SchemaImportImpl();
>
>
>
>          schemaImport.setNamespace(
>
> -            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
>
> +            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
>
>
>
>          schemaImport.setSchemaLocation(
>
> -            DOMUtils.getAttribute(schemaEl,
SchemaConstants.ATTR_SCHEMA_LOCATION));
>
> +            DOMUtils.getAttribute(importEl,
SchemaConstants.ATTR_SCHEMA_LOCATION));
>
> +
>
> +        //TODO currently only the XSModel is stored in Schema.
>
> +        //The DOM element representing the schema is not stored.
>
> +        //Either might be useful to an application dealing
>
> +        //with the underlying types (e.g. generator tooling).
>
> +        //So consider changing Schema so that it stores both.
>
> +        //Perhaps using a Map with a ContentModel/Content pair.
>
> +
>
> +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML
Schema type system
>
> +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML
Schema API
>
>
>
> +        try {
>
> +            //Use DOM level 3 bootstrap to get an XSModel of the schema
>
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
>
> +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
>
> +            DOMImplementationRegistry xsRegistry =
DOMImplementationRegistry.newInstance();
>
> +
>
> +            XSImplementation xsImpl =
>
> +                (XSImplementation)
xsRegistry.getDOMImplementation("XS-Loader");
>
> +
>
> +            XSLoader xsLoader = xsImpl.createXSLoader(null);
>
> +
>
> +            String sloc = schemaImport.getSchemaLocation();
>
> +            XSModel xsModel = xsLoader.loadURI(sloc);
>
> +
>
> +            schemaImport.setContent(xsModel);
>
> +
>
> +            /*
>
> +             * print out the schema elements
>
> +             *
>
> +            XSNamedMap xsNamedMap =
xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
>
> +            System.out.println("\nImported schema elements (" +
xsNamedMap.getLength() +"):");
>
> +            for(int i = 0; i < xsNamedMap.getLength(); i++)
>
> +            {
>
> +                System.out.println( (xsNamedMap.item(i)).getName() );
>
> +            }
>
> +             */
>
> +
>
> +        } catch (Exception e) {
>
> +            // TODO consider appropriate exceptions
>
> +            e.printStackTrace();
>
> +        }
>
> +
>
>          return schemaImport;
>
>      }
>
>
>
> @@ -235,11 +358,11 @@
>      {
>
>          TypesElement types = desc.createTypesElement();
>
>
>
> -
>
> -
>
> +        //TODO for now, set to XML Schema namespace. Later,
>
> +        //add support for non-XML Schema type systems
>
> +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
>
>
>
>          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
>
> -
>
>
>
>          while (tempEl != null)
>
>          {
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
(original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
Tue Sep  6 07:55:53 2005
> @@ -104,6 +104,15 @@
>      public static final String ATTR_BINDING = "binding";
>
>      public static final String ATTR_LOCATION = "address";
>
>
>
> +    //Type systems or content models
>
> +    public static final String TYPE_XSD_2001 =
>
> +        "http://www.w3.org/2001/XMLSchema";
>
> +    public static final String TYPE_DOM_API =
>
> +        "org.w3c.dom";
>
> +    public static final String TYPE_XS_API =
>
> +        "org.apache.xerces.xs";
>
> +
>
> +
>
>    //TODO determine if/how these needed
>
>    public static final String ATTR_XMLNS = "xmlns";
>
>    public static final String ATTR_NAMESPACE = "namespace";
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
 Tue Sep  6 07:55:53 2005
> @@ -16,22 +16,22 @@
>   */
>
>  public class DocumentationImpl implements DocumentationElement {
>
>
>
> -    private Object fContentModel;
>
> +    private Object fContent;
>
>
>
>      /* (non-Javadoc)
>
>       * @see
org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)

>
>       */
>
> -    public void setContentModel(Object docEl)
>
> +    public void setContent(Object docEl)
>
>      {
>
> -        this.fContentModel = docEl;
>
> +        this.fContent = docEl;
>
>      }
>
>
>
>      /* (non-Javadoc)
>
>       * @see
org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
>
>       */
>
> -    public Object getContentModel()
>
> +    public Object getContent()
>
>      {
>
> -        return this.fContentModel;
>
> +        return this.fContent;
>
>      }
>
>
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
 Tue Sep  6 07:55:53 2005
> @@ -21,13 +21,14 @@
>   * @author jkaputin@apache.org
>
>   */
>
>  public class InterfaceImpl implements Interface, InterfaceElement {
>
> +
>
> +    QName fName;
>
>
>
>      /* (non-Javadoc)
>
>       * @see org.apache.woden.wsdl20.Interface#getName()
>
>       */
>
>      public QName getName() {
>
> -        // TODO Auto-generated method stub
>
> -        return null;
>
> +        return fName;
>
>      }
>
>
>
>      /* (non-Javadoc)
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
(original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
Tue Sep  6 07:55:53 2005
> @@ -27,6 +27,7 @@
>  public class TypesImpl implements TypesElement {
>
>
>
>      private DocumentationElement fDocumentation;
>
> +    private String fTypeSystem;
>
>      private Map fSchemaImports = new HashMap();
>
>      private Map fSchemas = new HashMap();
>
>
>
> @@ -40,6 +41,16 @@
>      public DocumentationElement getDocumentationElement()
>
>      {
>
>          return fDocumentation;
>
> +    }
>
> +
>
> +    public void setTypeSystem(String typeSystem)
>
> +    {
>
> +        fTypeSystem = typeSystem;
>
> +    }
>
> +
>
> +    public String getTypeSystem()
>
> +    {
>
> +        return fTypeSystem;
>
>      }
>
>
>
>      /*
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
 Tue Sep  6 07:55:53 2005
> @@ -6,14 +6,16 @@
>  import org.apache.woden.wsdl20.extensions.Schema;
>
>
>
>  /**
>
> - * A wrapper for a <xs:schema> element.
>
> + * A wrapper for a &lt;xs:schema&gt; element.
>
>   *
>
>   * @author jkaputin@apache.org
>
>   */
>
>  public class SchemaImpl implements Schema {
>
>
>
>      private String fTargetNamespace;
>
> -    private Object fContentModel;
>
> +    private String fTypeSystem;
>
> +    private String fContentModel;
>
> +    private Object fContent;
>
>
>
>      /* (non-Javadoc)
>
>       * @see
org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)

>
> @@ -30,15 +32,35 @@
>      {
>
>          return fTargetNamespace;
>
>      }
>
> +
>
> +    public void setTypeSystem(String typeSystem)
>
> +    {
>
> +        fTypeSystem = typeSystem;
>
> +    }
>
> +
>
> +    public String getTypeSystem()
>
> +    {
>
> +        return fTypeSystem;
>
> +    }
>
>
>
> -    public void setContentModel(Object schemaEl)
>
> +    public void setContentModel(String contentModel)
>
>      {
>
> -        fContentModel = schemaEl;
>
> +        fContentModel = contentModel;
>
>      }
>
>
>
> -    public Object getContentModel()
>
> +    public String getContentModel()
>
>      {
>
>          return fContentModel;
>
> +    }
>
> +
>
> +    public void setContent(Object schemaContent)
>
> +    {
>
> +        fContent = schemaContent;
>
> +    }
>
> +
>
> +    public Object getContent()
>
> +    {
>
> +        return fContent;
>
>      }
>
>
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
 Tue Sep  6 07:55:53 2005
> @@ -6,9 +6,7 @@
>  import org.apache.woden.wsdl20.extensions.SchemaImport;
>
>
>
>  /**
>
> - * This interface represents the XML element information item for
>
> - * a &lt;xs:import&gt; element. It declares the behaviour required to
>
> - * support parsing, creating and manipulating a &lt;xs:import&gt;
element.
>
> + * A wrapper for a &lt;xs:import&gt; element.
>
>   *
>
>   * @author jkaputin@apache.org
>
>   */
>
> @@ -16,6 +14,9 @@
>
>
>      private String fNamespace = null;
>
>      private String fSchemaLocation = null;
>
> +    private String fTypeSystem;
>
> +    private String fContentModel;
>
> +    private Object fContent;
>
>
>
>      /* (non-Javadoc)
>
>       * @see
org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)

>
> @@ -49,5 +50,34 @@
>      {
>
>          return this.fSchemaLocation;
>
>      }
>
> +
>
> +    public void setTypeSystem(String typeSystem)
>
> +    {
>
> +        this.fTypeSystem = typeSystem;
>
> +    }
>
> +
>
> +    public String getTypeSystem()
>
> +    {
>
> +        return this.fTypeSystem;
>
> +    }
>
> +
>
> +    public void setContentModel(String contentModel)
>
> +    {
>
> +        this.fContentModel = contentModel;
>
> +    }
>
> +
>
> +    public String getContentModel()
>
> +    {
>
> +        return this.fContentModel;
>
> +    }
>
>
>
> +    public void setContent(Object importedSchemaContent)
>
> +    {
>
> +        this.fContent = importedSchemaContent;
>
> +    }
>
> +
>
> +    public Object getContent()
>
> +    {
>
> +        return this.fContent;
>
> +    }
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
(original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
Tue Sep  6 07:55:53 2005
> @@ -8,21 +8,42 @@
>  /**
>
>   * This interface represents the ElementDeclaration component described
>
>   * in the WSDL 2.0 Component Model specification (within the Description
>
> - * Component section). This component is used for describing the content
>
> - * of input, output and fault messages. Although it reflects an XML
>
> - * Schema global element declaration (&lt;xs:element&gt.), it does not
>
> - * impose XML Schema as the type system. Instead it returns a string
describing
>
> - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>
> - * which will indicate how to interpret the content model.
>
> + * Component section). An ElementDeclaration refers to an element, such
as
>
> + * a global element declaration in the XML Schema type system
>
> + * (&lt;xs:element&gt.), that describes the content of WSDL input,
output
>
> + * and fault messages.  However, it does not impose XML Schema as the
type system.
>
> + * It returns a String representing the content model or type system
>
> + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>
> + * representing the content of the element declaration. This Object may
>
> + * be cast to a type appropriate for the content model.
>
> + *
>
> + * TODO consider using woden specific package style names for the type
>
> + * system and content model constants, so that these can be configured
or
>
> + * defaulted prior to parsing and then referred to in a standard way via
the API
>
> + * (e.g.
>
> + * org.apache.woden.XML_Schema_Type_System,
>
> + * org.apache.woden.DOM_Content_Model,
>
> + * org.apache.woden.XML_Schema_API_Content_Model).
>
>   *
>
> + *
>
>   * @author jkaputin@apache.org
>
>   */
>
>  public interface ElementDeclaration {
>
>
>
>      public QName getName();
>
>
>
> +    /*
>
> +     * e.g. "http://www.w3.org/2001/XMLSchema"
>
> +     */
>
>      public String getTypeSystem();
>
>
>
> -    public Object getContentModel();
>
> +    /*
>
> +     * Indicates the type of model or API used to represent the content.
>
> +     * For example, "org.w3c.dom" for a DOM Element or
>
> +     * "org.apache.xerces.xs" for an XML Schema API
XSElementDeclaration.
>
> +     */
>
> +    public String getContentModel();
>
> +
>
> +    public Object getContent();
>
>
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
 Tue Sep  6 07:55:53 2005
> @@ -13,6 +13,13 @@
>
>
>      public String getDirection();
>
>
>
> +    /**
>
> +     * Indicates the type of message content.#any means any single
element,
>
> +     * #none means no message content, #other means non-XML extension
type system
>
> +     * or #element means XML Schema global element definition.
>
> +     *
>
> +     * @return string representing the type of message content
>
> +     */
>
>      public String getMessageContentModel();
>
>
>
>      public ElementDeclaration getElementDeclaration();
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> --- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
(original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
Tue Sep  6 07:55:53 2005
> @@ -8,12 +8,22 @@
>  /**
>
>   * This interface represents the TypeDefinition component described
>
>   * in the WSDL 2.0 Component Model specification (within the Description
>
> - * Component section). This component is used for describing simple or
>
> - * complex data types. Although it reflects an XML Schema global type
>
> - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does
not
>
> - * impose XML Schema as the type system. Instead it returns a string
describing
>
> - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
>
> - * which will indicate how to interpret the content model.
>
> + * Component section). This component refers to simple or complex data
types
>
> + * defined in a type system such as XML Schema
>
> + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
>
> + * However, it does not impose XML Schema as the type system.
>
> + * It returns a String representing the content model or type system
>
> + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
>
> + * representing the content of the type definition. This Object may
>
> + * be cast to a type appropriate for the content model.
>
> + *
>
> + * TODO consider using woden specific package style names for the type
>
> + * system and content model constants, so that these can be configured
or
>
> + * defaulted prior to parsing and then referred to in a standard way via
the API
>
> + * (e.g.
>
> + * org.apache.woden.XML_Schema_Type_System,
>
> + * org.apache.woden.DOM_Content_Model,
>
> + * org.apache.woden.XML_Schema_API_Content_Model).
>
>   *
>
>   * @author jkaputin@apache.org
>
>   */
>
> @@ -21,8 +31,18 @@
>
>
>      public QName getName();
>
>
>
> +    /*
>
> +     * e.g. "http://www.w3.org/2001/XMLSchema"
>
> +     */
>
>      public String getTypeSystem();
>
>
>
> -    public Object getContentModel();
>
> +    /*
>
> +     * Indicates the type of model or API used to represent the content.
>
> +     * For example, "org.w3c.dom" for a DOM Element or
>
> +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
>
> +     */
>
> +    public String getContentModel();
>
> +
>
> +    public Object getContent();
>
>
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
(original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue
Sep  6 07:55:53 2005
> @@ -17,8 +17,10 @@
>
>
>      public String getTargetNamespace();
>
>
>
> -    public void setContentModel(Object schemaEl);
>
> +    public String getTypeSystem();
>
>
>
> -    public Object getContentModel();
>
> +    public String getContentModel();
>
> +
>
> +    public Object getContent();
>
>
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
 Tue Sep  6 07:55:53 2005
> @@ -20,4 +20,9 @@
>
>
>      public String getSchemaLocation();
>
>
>
> +    public String getTypeSystem();
>
> +
>
> +    public String getContentModel();
>
> +
>
> +    public Object getContent();
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java

> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
 (original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
 Tue Sep  6 07:55:53 2005
> @@ -13,7 +13,7 @@
>   */
>
>  public interface DocumentationElement extends WSDL20Element {
>
>
>
> -    public void setContentModel(Object docEl);
>
> +    public void setContent(Object docEl);
>
>
>
> -    public Object getContentModel();
>
> +    public Object getContent();
>
>  }
>
>
> Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff

>
==============================================================================

> ---
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
(original)
> +++
incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue
Sep  6 07:55:53 2005
> @@ -31,19 +31,37 @@
>
>
>      public DocumentationElement getDocumentationElement();
>
>
>
> +    /**
>
> +     * Indicate the type system used within the &lt;types&gt;
>
> +     * element. Typically the XML Schema type system will be
>
> +     * used, represented by the XML Schema namespace
>
> +     * "http://www.w3.org/2001/XMLSchema".
>
> +     */
>
> +    public void setTypeSystem(String typeSystem);
>
> +
>
> +    /**
>
> +     * Get the string indicating the type system used within the
&lt;types&gt;
>
> +     * element.
>
> +     */
>
> +    public String getTypeSystem();
>
> +
>
>      /*
>
>       * Schema imports &lt;xs:import&gt; are stored in a Map of
SchemaImport[]
>
>       * keyed by namespace. The schemaLocation attribute will distinguish
>
>       * schemas imported with the same namespace.
>
>       */
>
>
>
> +    /**
>
> +     * Add a SchemaImport to the schemas imported within the
&lt;types&gt; element.
>
> +     */
>
>      public void addSchemaImport(SchemaImport schemaImport);
>
>
>
>      //TODO what if schemaLoc is null and there is more than one import
for this namespace?
>
>      //Delete all or raise an error?
>
>
>
>      /**
>
> -     * Add a SchemaImport to the schemas imported within the
&lt;types&gt; element.
>
> +     * Remove a SchemaImport from the list of schemas imported
>
> +     * within the &lt;types&gt; element.
>
>       */
>
>      public void removeSchemaImport(String namespace, String schemaLoc);
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
>
>


--
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org


(Re: svn commit: r279015 - in /incubator/woden/java/src/org/apache/woden: internal/ internal/wsdl20/ internal/wsdl20/extensions/ wsdl20/ wsdl20/extensions/ wsdl20/xml/)

Posted by Davanum Srinivas <da...@gmail.com>.
John,

Could we please use XmlSchema?
(http://svn.apache.org/repos/asf/webservices/commons/trunk/XmlSchema/)

That way we are not stuck to a specifc version of Xerces.

-- dims

On 9/6/05, jkaputin@apache.org <jk...@apache.org> wrote:
> Author: jkaputin
> Date: Tue Sep  6 07:55:53 2005
> New Revision: 279015
> 
> URL: http://svn.apache.org/viewcvs?rev=279015&view=rev
> Log:
> Added DOM parsing of schema and schema import using XML
> 
> Schema API (XSModel) to access element and types.
> 
> Modified:
>     incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
>     incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
>     incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Tue Sep  6 07:55:53 2005
> @@ -27,6 +27,18 @@
>  import org.xml.sax.InputSource;
> 
>  import org.xml.sax.SAXException;
> 
> 
> 
> +//JK temporary imports (pending TODOs)
> 
> +
> 
> +import com.ibm.wsdl.util.xml.DOM2Writer;
> 
> +
> 
> +import org.apache.xerces.dom3.bootstrap.DOMImplementationRegistry;
> 
> +import org.apache.xerces.xs.XSImplementation;
> 
> +import org.apache.xerces.xs.XSLoader;
> 
> +import org.apache.xerces.xs.XSModel;
> 
> +
> 
> +import org.w3c.dom.ls.DOMImplementationLS;
> 
> +import org.w3c.dom.ls.LSInput;
> 
> +
> 
>  import temp.WSDLException;
> 
> 
> 
>  /**
> 
> @@ -164,7 +176,7 @@
>                                                      DescriptionElement desc)
> 
>      {
> 
>          DocumentationElement documentation = desc.createDocumentationElement();
> 
> -        documentation.setContentModel(docEl);
> 
> +        documentation.setContent(docEl);
> 
>          return documentation;
> 
>      }
> 
> 
> 
> @@ -189,18 +201,81 @@
>       * TODO Initial schema parsing is specific to XML Schema.
> 
>       * Need generic support for other type systems.
> 
>       * Consider extension architecture with serializer/deserializer.
> 
> +     *
> 
> +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> 
> +     * schema and parse elements and types. This will create a Xerces
> 
> +     * parser dependency on the Woden DOM implementation (rather than
> 
> +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> 
>       */
> 
>      private Schema parseSchemaInline(Element schemaEl,
> 
>                                       TypesElement desc)
> 
>                                       throws WSDLException
> 
>      {
> 
> -        Schema schema = new SchemaImpl();
> 
> +        SchemaImpl schema = new SchemaImpl();
> 
> 
> 
>          schema.setTargetNamespace(
> 
>              DOMUtils.getAttribute(schemaEl, Constants.ATTR_TARGET_NAMESPACE));
> 
> 
> 
> -        schema.setContentModel(schemaEl);
> 
> +        //TODO the type system will depend on the WSDL doc so consider
> 
> +        //parameterizing it. Fixed with an XML Schema constant for now.
> 
> +
> 
> +        schema.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema type system
> 
> +        schema.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
> 
> 
> 
> +        //TODO currently only the XSModel is stored in Schema.
> 
> +        //The DOM element representing the schema is not stored.
> 
> +        //Either might be useful to an application dealing
> 
> +        //with the underlying types (e.g. generator tooling).
> 
> +        //So consider changing Schema so that it stores both.
> 
> +        //Perhaps using a Map with a ContentModel/Content pair.
> 
> +
> 
> +        try {
> 
> +            //create an LSInput object to hold the schema string
> 
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> 
> +                "org.apache.xerces.dom.DOMImplementationSourceImpl");
> 
> +            DOMImplementationRegistry domRegistry =
> 
> +                DOMImplementationRegistry.newInstance();
> 
> +
> 
> +            DOMImplementationLS domImpl =
> 
> +                (DOMImplementationLS)domRegistry.getDOMImplementation("LS");
> 
> +
> 
> +            LSInput lsInput = domImpl.createLSInput();
> 
> +
> 
> +            //store the schema as a string in the LSInput
> 
> +            String schemaString = DOM2Writer.nodeToString(schemaEl);
> 
> +            System.out.println(schemaString);
> 
> +            lsInput.setStringData(schemaString);
> 
> +
> 
> +            //Use DOM level 3 bootstrap to get an XSModel of the schema
> 
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> 
> +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> 
> +            DOMImplementationRegistry xsRegistry = DOMImplementationRegistry.newInstance();
> 
> +
> 
> +            XSImplementation xsImpl =
> 
> +                (XSImplementation) xsRegistry.getDOMImplementation("XS-Loader");
> 
> +
> 
> +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> 
> +
> 
> +            XSModel xsModel = xsLoader.load(lsInput);
> 
> +
> 
> +            schema.setContent(xsModel);
> 
> +
> 
> +            /*
> 
> +             * print out the schema elements
> 
> +             *
> 
> +            XSNamedMap xsNamedMap = xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> 
> +            System.out.println("\nInline schema elements (" + xsNamedMap.getLength() +"):");
> 
> +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> 
> +            {
> 
> +                System.out.println( (xsNamedMap.item(i)).getName() );
> 
> +            }
> 
> +             */
> 
> +
> 
> +        } catch (Exception e) {
> 
> +            // TODO consider appropriate exceptions
> 
> +            e.printStackTrace();
> 
> +        }
> 
> +
> 
>          return schema;
> 
>      }
> 
> 
> 
> @@ -208,19 +283,67 @@
>       * TODO Initial schema parsing is specific to XML Schema.
> 
>       * Need generic support for other type systems.
> 
>       * Consider extension architecture with serializer/deserializer.
> 
> +     *
> 
> +     * TODO For now, use XML Schema API (Xerces XSModel) to represent
> 
> +     * schema and parse elements and types. This will create a Xerces
> 
> +     * parser dependency on the Woden DOM implementation (rather than
> 
> +     * just a JAXP/SAX/DOM API dependency). To be considered further.
> 
>       */
> 
> -    private SchemaImport parseSchemaImport(Element schemaEl,
> 
> +    private SchemaImport parseSchemaImport(Element importEl,
> 
>                                             TypesElement types)
> 
>                                             throws WSDLException
> 
>      {
> 
> -        SchemaImport schemaImport = new SchemaImportImpl();
> 
> +        //TODO use extension architecture aka WSDL4J
> 
> +        SchemaImportImpl schemaImport = new SchemaImportImpl();
> 
> 
> 
>          schemaImport.setNamespace(
> 
> -            DOMUtils.getAttribute(schemaEl, Constants.ATTR_NAMESPACE));
> 
> +            DOMUtils.getAttribute(importEl, Constants.ATTR_NAMESPACE));
> 
> 
> 
>          schemaImport.setSchemaLocation(
> 
> -            DOMUtils.getAttribute(schemaEl, SchemaConstants.ATTR_SCHEMA_LOCATION));
> 
> +            DOMUtils.getAttribute(importEl, SchemaConstants.ATTR_SCHEMA_LOCATION));
> 
> +
> 
> +        //TODO currently only the XSModel is stored in Schema.
> 
> +        //The DOM element representing the schema is not stored.
> 
> +        //Either might be useful to an application dealing
> 
> +        //with the underlying types (e.g. generator tooling).
> 
> +        //So consider changing Schema so that it stores both.
> 
> +        //Perhaps using a Map with a ContentModel/Content pair.
> 
> +
> 
> +        schemaImport.setTypeSystem(Constants.TYPE_XSD_2001);  //XML Schema type system
> 
> +        schemaImport.setContentModel(Constants.TYPE_XS_API);  //XML Schema API
> 
> 
> 
> +        try {
> 
> +            //Use DOM level 3 bootstrap to get an XSModel of the schema
> 
> +            System.setProperty(DOMImplementationRegistry.PROPERTY,
> 
> +                "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> 
> +            DOMImplementationRegistry xsRegistry = DOMImplementationRegistry.newInstance();
> 
> +
> 
> +            XSImplementation xsImpl =
> 
> +                (XSImplementation) xsRegistry.getDOMImplementation("XS-Loader");
> 
> +
> 
> +            XSLoader xsLoader = xsImpl.createXSLoader(null);
> 
> +
> 
> +            String sloc = schemaImport.getSchemaLocation();
> 
> +            XSModel xsModel = xsLoader.loadURI(sloc);
> 
> +
> 
> +            schemaImport.setContent(xsModel);
> 
> +
> 
> +            /*
> 
> +             * print out the schema elements
> 
> +             *
> 
> +            XSNamedMap xsNamedMap = xsModel.getComponents(XSConstants.ELEMENT_DECLARATION);
> 
> +            System.out.println("\nImported schema elements (" + xsNamedMap.getLength() +"):");
> 
> +            for(int i = 0; i < xsNamedMap.getLength(); i++)
> 
> +            {
> 
> +                System.out.println( (xsNamedMap.item(i)).getName() );
> 
> +            }
> 
> +             */
> 
> +
> 
> +        } catch (Exception e) {
> 
> +            // TODO consider appropriate exceptions
> 
> +            e.printStackTrace();
> 
> +        }
> 
> +
> 
>          return schemaImport;
> 
>      }
> 
> 
> 
> @@ -235,11 +358,11 @@
>      {
> 
>          TypesElement types = desc.createTypesElement();
> 
> 
> 
> -
> 
> -
> 
> +        //TODO for now, set to XML Schema namespace. Later,
> 
> +        //add support for non-XML Schema type systems
> 
> +        types.setTypeSystem(SchemaConstants.NS_URI_XSD_2001);
> 
> 
> 
>          Element tempEl = DOMUtils.getFirstChildElement(typesEl);
> 
> -
> 
> 
> 
>          while (tempEl != null)
> 
>          {
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java Tue Sep  6 07:55:53 2005
> @@ -104,6 +104,15 @@
>      public static final String ATTR_BINDING = "binding";
> 
>      public static final String ATTR_LOCATION = "address";
> 
> 
> 
> +    //Type systems or content models
> 
> +    public static final String TYPE_XSD_2001 =
> 
> +        "http://www.w3.org/2001/XMLSchema";
> 
> +    public static final String TYPE_DOM_API =
> 
> +        "org.w3c.dom";
> 
> +    public static final String TYPE_XS_API =
> 
> +        "org.apache.xerces.xs";
> 
> +
> 
> +
> 
>    //TODO determine if/how these needed
> 
>    public static final String ATTR_XMLNS = "xmlns";
> 
>    public static final String ATTR_NAMESPACE = "namespace";
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentationImpl.java Tue Sep  6 07:55:53 2005
> @@ -16,22 +16,22 @@
>   */
> 
>  public class DocumentationImpl implements DocumentationElement {
> 
> 
> 
> -    private Object fContentModel;
> 
> +    private Object fContent;
> 
> 
> 
>      /* (non-Javadoc)
> 
>       * @see org.apache.woden.wsdl20.xml.DocumentationElement#setContentModel(java.lang.Object)
> 
>       */
> 
> -    public void setContentModel(Object docEl)
> 
> +    public void setContent(Object docEl)
> 
>      {
> 
> -        this.fContentModel = docEl;
> 
> +        this.fContent = docEl;
> 
>      }
> 
> 
> 
>      /* (non-Javadoc)
> 
>       * @see org.apache.woden.wsdl20.xml.DocumentationElement#getContentModel()
> 
>       */
> 
> -    public Object getContentModel()
> 
> +    public Object getContent()
> 
>      {
> 
> -        return this.fContentModel;
> 
> +        return this.fContent;
> 
>      }
> 
> 
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java Tue Sep  6 07:55:53 2005
> @@ -21,13 +21,14 @@
>   * @author jkaputin@apache.org
> 
>   */
> 
>  public class InterfaceImpl implements Interface, InterfaceElement {
> 
> +
> 
> +    QName fName;
> 
> 
> 
>      /* (non-Javadoc)
> 
>       * @see org.apache.woden.wsdl20.Interface#getName()
> 
>       */
> 
>      public QName getName() {
> 
> -        // TODO Auto-generated method stub
> 
> -        return null;
> 
> +        return fName;
> 
>      }
> 
> 
> 
>      /* (non-Javadoc)
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java Tue Sep  6 07:55:53 2005
> @@ -27,6 +27,7 @@
>  public class TypesImpl implements TypesElement {
> 
> 
> 
>      private DocumentationElement fDocumentation;
> 
> +    private String fTypeSystem;
> 
>      private Map fSchemaImports = new HashMap();
> 
>      private Map fSchemas = new HashMap();
> 
> 
> 
> @@ -40,6 +41,16 @@
>      public DocumentationElement getDocumentationElement()
> 
>      {
> 
>          return fDocumentation;
> 
> +    }
> 
> +
> 
> +    public void setTypeSystem(String typeSystem)
> 
> +    {
> 
> +        fTypeSystem = typeSystem;
> 
> +    }
> 
> +
> 
> +    public String getTypeSystem()
> 
> +    {
> 
> +        return fTypeSystem;
> 
>      }
> 
> 
> 
>      /*
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImpl.java Tue Sep  6 07:55:53 2005
> @@ -6,14 +6,16 @@
>  import org.apache.woden.wsdl20.extensions.Schema;
> 
> 
> 
>  /**
> 
> - * A wrapper for a <xs:schema> element.
> 
> + * A wrapper for a &lt;xs:schema&gt; element.
> 
>   *
> 
>   * @author jkaputin@apache.org
> 
>   */
> 
>  public class SchemaImpl implements Schema {
> 
> 
> 
>      private String fTargetNamespace;
> 
> -    private Object fContentModel;
> 
> +    private String fTypeSystem;
> 
> +    private String fContentModel;
> 
> +    private Object fContent;
> 
> 
> 
>      /* (non-Javadoc)
> 
>       * @see org.apache.woden.wsdl20.extensions.Schema#setTargetNamespace(java.lang.String)
> 
> @@ -30,15 +32,35 @@
>      {
> 
>          return fTargetNamespace;
> 
>      }
> 
> +
> 
> +    public void setTypeSystem(String typeSystem)
> 
> +    {
> 
> +        fTypeSystem = typeSystem;
> 
> +    }
> 
> +
> 
> +    public String getTypeSystem()
> 
> +    {
> 
> +        return fTypeSystem;
> 
> +    }
> 
> 
> 
> -    public void setContentModel(Object schemaEl)
> 
> +    public void setContentModel(String contentModel)
> 
>      {
> 
> -        fContentModel = schemaEl;
> 
> +        fContentModel = contentModel;
> 
>      }
> 
> 
> 
> -    public Object getContentModel()
> 
> +    public String getContentModel()
> 
>      {
> 
>          return fContentModel;
> 
> +    }
> 
> +
> 
> +    public void setContent(Object schemaContent)
> 
> +    {
> 
> +        fContent = schemaContent;
> 
> +    }
> 
> +
> 
> +    public Object getContent()
> 
> +    {
> 
> +        return fContent;
> 
>      }
> 
> 
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java (original)
> +++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java Tue Sep  6 07:55:53 2005
> @@ -6,9 +6,7 @@
>  import org.apache.woden.wsdl20.extensions.SchemaImport;
> 
> 
> 
>  /**
> 
> - * This interface represents the XML element information item for
> 
> - * a &lt;xs:import&gt; element. It declares the behaviour required to
> 
> - * support parsing, creating and manipulating a &lt;xs:import&gt; element.
> 
> + * A wrapper for a &lt;xs:import&gt; element.
> 
>   *
> 
>   * @author jkaputin@apache.org
> 
>   */
> 
> @@ -16,6 +14,9 @@
> 
> 
>      private String fNamespace = null;
> 
>      private String fSchemaLocation = null;
> 
> +    private String fTypeSystem;
> 
> +    private String fContentModel;
> 
> +    private Object fContent;
> 
> 
> 
>      /* (non-Javadoc)
> 
>       * @see org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
> 
> @@ -49,5 +50,34 @@
>      {
> 
>          return this.fSchemaLocation;
> 
>      }
> 
> +
> 
> +    public void setTypeSystem(String typeSystem)
> 
> +    {
> 
> +        this.fTypeSystem = typeSystem;
> 
> +    }
> 
> +
> 
> +    public String getTypeSystem()
> 
> +    {
> 
> +        return this.fTypeSystem;
> 
> +    }
> 
> +
> 
> +    public void setContentModel(String contentModel)
> 
> +    {
> 
> +        this.fContentModel = contentModel;
> 
> +    }
> 
> +
> 
> +    public String getContentModel()
> 
> +    {
> 
> +        return this.fContentModel;
> 
> +    }
> 
> 
> 
> +    public void setContent(Object importedSchemaContent)
> 
> +    {
> 
> +        this.fContent = importedSchemaContent;
> 
> +    }
> 
> +
> 
> +    public Object getContent()
> 
> +    {
> 
> +        return this.fContent;
> 
> +    }
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/ElementDeclaration.java Tue Sep  6 07:55:53 2005
> @@ -8,21 +8,42 @@
>  /**
> 
>   * This interface represents the ElementDeclaration component described
> 
>   * in the WSDL 2.0 Component Model specification (within the Description
> 
> - * Component section). This component is used for describing the content
> 
> - * of input, output and fault messages. Although it reflects an XML
> 
> - * Schema global element declaration (&lt;xs:element&gt.), it does not
> 
> - * impose XML Schema as the type system. Instead it returns a string describing
> 
> - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
> 
> - * which will indicate how to interpret the content model.
> 
> + * Component section). An ElementDeclaration refers to an element, such as
> 
> + * a global element declaration in the XML Schema type system
> 
> + * (&lt;xs:element&gt.), that describes the content of WSDL input, output
> 
> + * and fault messages.  However, it does not impose XML Schema as the type system.
> 
> + * It returns a String representing the content model or type system
> 
> + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> 
> + * representing the content of the element declaration. This Object may
> 
> + * be cast to a type appropriate for the content model.
> 
> + *
> 
> + * TODO consider using woden specific package style names for the type
> 
> + * system and content model constants, so that these can be configured or
> 
> + * defaulted prior to parsing and then referred to in a standard way via the API
> 
> + * (e.g.
> 
> + * org.apache.woden.XML_Schema_Type_System,
> 
> + * org.apache.woden.DOM_Content_Model,
> 
> + * org.apache.woden.XML_Schema_API_Content_Model).
> 
>   *
> 
> + *
> 
>   * @author jkaputin@apache.org
> 
>   */
> 
>  public interface ElementDeclaration {
> 
> 
> 
>      public QName getName();
> 
> 
> 
> +    /*
> 
> +     * e.g. "http://www.w3.org/2001/XMLSchema"
> 
> +     */
> 
>      public String getTypeSystem();
> 
> 
> 
> -    public Object getContentModel();
> 
> +    /*
> 
> +     * Indicates the type of model or API used to represent the content.
> 
> +     * For example, "org.w3c.dom" for a DOM Element or
> 
> +     * "org.apache.xerces.xs" for an XML Schema API XSElementDeclaration.
> 
> +     */
> 
> +    public String getContentModel();
> 
> +
> 
> +    public Object getContent();
> 
> 
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/InterfaceMessageReference.java Tue Sep  6 07:55:53 2005
> @@ -13,6 +13,13 @@
> 
> 
>      public String getDirection();
> 
> 
> 
> +    /**
> 
> +     * Indicates the type of message content.#any means any single element,
> 
> +     * #none means no message content, #other means non-XML extension type system
> 
> +     * or #element means XML Schema global element definition.
> 
> +     *
> 
> +     * @return string representing the type of message content
> 
> +     */
> 
>      public String getMessageContentModel();
> 
> 
> 
>      public ElementDeclaration getElementDeclaration();
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/TypeDefinition.java Tue Sep  6 07:55:53 2005
> @@ -8,12 +8,22 @@
>  /**
> 
>   * This interface represents the TypeDefinition component described
> 
>   * in the WSDL 2.0 Component Model specification (within the Description
> 
> - * Component section). This component is used for describing simple or
> 
> - * complex data types. Although it reflects an XML Schema global type
> 
> - * definition (&lt;xs:simpleType&gt. or &lt;xs:complexType&gt.), it does not
> 
> - * impose XML Schema as the type system. Instead it returns a string describing
> 
> - * the type system being used (e.g. "http://www.w3.org/2001/XMLSchema"),
> 
> - * which will indicate how to interpret the content model.
> 
> + * Component section). This component refers to simple or complex data types
> 
> + * defined in a type system such as XML Schema
> 
> + * (e.g. &lt;xs:simpleType&gt. or &lt;xs:complexType&gt.).
> 
> + * However, it does not impose XML Schema as the type system.
> 
> + * It returns a String representing the content model or type system
> 
> + * (e.g. "http://www.w3.org/2001/XMLSchema") and a java.lang.Object
> 
> + * representing the content of the type definition. This Object may
> 
> + * be cast to a type appropriate for the content model.
> 
> + *
> 
> + * TODO consider using woden specific package style names for the type
> 
> + * system and content model constants, so that these can be configured or
> 
> + * defaulted prior to parsing and then referred to in a standard way via the API
> 
> + * (e.g.
> 
> + * org.apache.woden.XML_Schema_Type_System,
> 
> + * org.apache.woden.DOM_Content_Model,
> 
> + * org.apache.woden.XML_Schema_API_Content_Model).
> 
>   *
> 
>   * @author jkaputin@apache.org
> 
>   */
> 
> @@ -21,8 +31,18 @@
> 
> 
>      public QName getName();
> 
> 
> 
> +    /*
> 
> +     * e.g. "http://www.w3.org/2001/XMLSchema"
> 
> +     */
> 
>      public String getTypeSystem();
> 
> 
> 
> -    public Object getContentModel();
> 
> +    /*
> 
> +     * Indicates the type of model or API used to represent the content.
> 
> +     * For example, "org.w3c.dom" for a DOM Element or
> 
> +     * "org.apache.xerces.xs" for an XML Schema API XSTypeDefinition.
> 
> +     */
> 
> +    public String getContentModel();
> 
> +
> 
> +    public Object getContent();
> 
> 
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue Sep  6 07:55:53 2005
> @@ -17,8 +17,10 @@
> 
> 
>      public String getTargetNamespace();
> 
> 
> 
> -    public void setContentModel(Object schemaEl);
> 
> +    public String getTypeSystem();
> 
> 
> 
> -    public Object getContentModel();
> 
> +    public String getContentModel();
> 
> +
> 
> +    public Object getContent();
> 
> 
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java Tue Sep  6 07:55:53 2005
> @@ -20,4 +20,9 @@
> 
> 
>      public String getSchemaLocation();
> 
> 
> 
> +    public String getTypeSystem();
> 
> +
> 
> +    public String getContentModel();
> 
> +
> 
> +    public Object getContent();
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/DocumentationElement.java Tue Sep  6 07:55:53 2005
> @@ -13,7 +13,7 @@
>   */
> 
>  public interface DocumentationElement extends WSDL20Element {
> 
> 
> 
> -    public void setContentModel(Object docEl);
> 
> +    public void setContent(Object docEl);
> 
> 
> 
> -    public Object getContentModel();
> 
> +    public Object getContent();
> 
>  }
> 
> 
> Modified: incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java
> URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java?rev=279015&r1=279014&r2=279015&view=diff
> ==============================================================================
> --- incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java (original)
> +++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/TypesElement.java Tue Sep  6 07:55:53 2005
> @@ -31,19 +31,37 @@
> 
> 
>      public DocumentationElement getDocumentationElement();
> 
> 
> 
> +    /**
> 
> +     * Indicate the type system used within the &lt;types&gt;
> 
> +     * element. Typically the XML Schema type system will be
> 
> +     * used, represented by the XML Schema namespace
> 
> +     * "http://www.w3.org/2001/XMLSchema".
> 
> +     */
> 
> +    public void setTypeSystem(String typeSystem);
> 
> +
> 
> +    /**
> 
> +     * Get the string indicating the type system used within the &lt;types&gt;
> 
> +     * element.
> 
> +     */
> 
> +    public String getTypeSystem();
> 
> +
> 
>      /*
> 
>       * Schema imports &lt;xs:import&gt; are stored in a Map of SchemaImport[]
> 
>       * keyed by namespace. The schemaLocation attribute will distinguish
> 
>       * schemas imported with the same namespace.
> 
>       */
> 
> 
> 
> +    /**
> 
> +     * Add a SchemaImport to the schemas imported within the &lt;types&gt; element.
> 
> +     */
> 
>      public void addSchemaImport(SchemaImport schemaImport);
> 
> 
> 
>      //TODO what if schemaLoc is null and there is more than one import for this namespace?
> 
>      //Delete all or raise an error?
> 
> 
> 
>      /**
> 
> -     * Add a SchemaImport to the schemas imported within the &lt;types&gt; element.
> 
> +     * Remove a SchemaImport from the list of schemas imported
> 
> +     * within the &lt;types&gt; element.
> 
>       */
> 
>      public void removeSchemaImport(String namespace, String schemaLoc);
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: woden-dev-help@ws.apache.org
> 
> 


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org