Hi Vidyanand

We have started to build a schema Parser object in the WSIF project (which
is a sub-project of Axis for now until a web services PMC is set up). I must
stress ours is a tactical solution until we find the time to integrate a
fully functional schema parser such as yours. WSIF does not have a forced
dependency on Axis, so putting your parser into a separate project is
desirable from the WSIF point of view but I can see that including in Axis
initially would be most desirable to get Axis developers using it.

In fact until your proposal the only opensource parser I really knew about
was the Eclipse XSD project at http://www.eclipse.org/xsd/  I confess to not
having compared the two.

WSIF needs a schema parser just to objectize schema imported into WSDL to
any level of import nested-ness. WSIF only needs this to figure out a
mapping from schema type to the name of java class that represents that
type. So because our needs are fairly simple we would favor a lightweight
parser.

Regards,
Jeremy
---
[EMAIL PROTECTED]


----- Original Message -----
From: "Vidyanand Murunikkara" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, November 06, 2002 10:36 PM
Subject: RE: XML Schema support for Axis (Contrib from Infravio)


Hi Glen

Thanks for taking the time to take a look at the source code.

And as to your questions

1. The QualifiedName is there because after you do a
XmlSchema.compile(..) all the Types are supposed to be obtained form
XmlSchema.getSchemaTypes(). This would include any types from the schema
that is imported. In this a localname alone is not sufficient. But this
feature viz. compile has not been implemented :-(

2) We haven't considered a schemacontext class. But I would think of the
schema context as being a new schema object with all the other required
schemas being imported( am I right ??? ). If so implementing the compile
method would solve the problem you are trying to address.

3) Yes we could want to contribute this code to apache. But I would not
think it should be a totally separate project by itslef till a lot of
things are sorted out.( for eg. the compile method). I had spoken to
Dims about this and he also feels the same. Use it in axis for sometime
and if there is a need and the module is mature enough then we could
think of a different CVS tree  And we are also looking forward to see
axis use this schema module :-).

I hope I have answered all your questions

Thanks.
Vidyanand.

-----Original Message-----
From: Glen Daniels [mailto:gdaniels@;macromedia.com]
Sent: Wednesday, November 06, 2002 1:50 PM
To: '[EMAIL PROTECTED]'
Subject: RE: XML Schema support for Axis (Contrib from Infravio)



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