Hi Vidyanand!

A few comments about this library, first a couple related to the code in particular, 
and then one about the process of integrating it with Axis.

In general, this looks great.  Questions:

1) Why bother to keep all the objects in an XmlSchema referenced by QualifiedName?  
For a given XmlSchema, you're always defining things in only one namespace 
(targetNamespace).  I would think you could just punt this and look up only by local 
name.

2) Have you considered a "SchemaContext" class which could hold a number of XmlSchema 
objects?  This would be perfect for something like parsing WSDL where there are 
multiple <schema>s which need coalescing.  It seems like this would really be the 
place you'd want APIs like context.getType(QName typeQName) or 
context.getElement(QName elemQName).

3) Would you want to contribute this to Apache wholesale (org.apache.xml.schema or 
something), or keep it maintained by Infravio?  I see a lot of value in this code, but 
also a lot of places we might want to add accessors, tighten up APIs, etc. - if we 
were all working together to make this library work, I think we could do some great 
stuff, but I'd be a little less excited if we couldn't have an editable copy in CVS.

Thank you *very* much for bringing this code to us, I hope we can indeed move forward 
taking our schema-handling out of the stone age. :)

--Glen

> -----Original Message-----
> From: Vidyanand Murunikkara [mailto:Vidyanand@;infravio.com]
> Sent: Tuesday, November 05, 2002 1:56 PM
> To: [EMAIL PROTECTED]
> Subject: XML Schema support for Axis (Contrib from Infravio)
> 
> 
> Hi 
> 
> Infravio would like to become actively involved with the Apache Axis
> project by providing an XML Schema Parser module.  This set of classes
> enables developers to introspect XML Schemas by creating an 
> object model
> representation of them in the Java code.  The classes also provide the
> functionality of creating an XMLSchema on the fly and writing it to a
> stream/writer. This is modeled after the System.Xml.Schema 
> namespace in
> Microsoft .NET, and has equivalent functionality for Java. 
> 
> In particular, the XML Schema parser module could:
> 
> - Simplify client code generation for Axis based on WSDLs with complex
> types
> - With the ability to create XML Schemas on the fly creation of
> wsdl:types from Java code will be made easier. The code can create the
> XML Schema hierarchy and not worry about the DOM API.
> - Enable manipulation of XML Schema objects in Java code
> 
> The XML Schema parser module has been run against the NIST test suite
> (http://xw2k.sdct.itl.nist.gov/xml/page4.html)and was able to 
> parse all
> the XSDs in NIST's zip file.  Also, a Test.java is included that uses
> XMLUnit - http://sourceforge.net/projects/xmlunit/) to serialize the
> schema information into an XSD file and to verify the input XSD
> different from the output XSD.  Again NIST's test suite was 
> used and the
> results were valid.
> 
> We are very enthusiastic about getting involved in the Axis 
> project, and
> look forward to working with you all.  We would also like to thank
> Davanum Srinivas for helping us to understand what it takes to get
> involved.
> 
> The attached XmlSchema-src.zip file contains the source and build.xml.
> 
> In the zip you will find a build.xml file which has the following
> targets 
> 
>       1. compile - for compiling to build\classes
>       2. jar - creates xmlschema.jar in build\lib
>       3. javadoc - creates the javadoc in build\apidoc
>       4. clean - cleans up the build dir
>       5. dist - creates a binary distribution (XmlSchema.zip) in
> build\dist
>       6. srcdist - creates a source distribution(XmlSchema-src.zip) in
> build\dist
> 
> Regards,
> Vidyanand
> Infravio Inc.
> 
>  <<Test.java>> 
> 
>  <<XmlSchema-src.zip>> 
> 
> 
> 
> 
> 
> 

Reply via email to