[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Box, Don" <dbox@d...>
  • To: "'Oliver Becker'" <obecker@i...>, xml-dev@x...
  • Date: Wed, 8 Mar 2000 11:08:22 -0800

Title: RE: Mapping: Schema - Java

> -----Original Message-----
> From: Oliver Becker [mailto:obecker@i...]
> Sent: Wednesday, March 08, 2000 3:34 AM
> To: xml-dev@x...
> Subject: Mapping: Schema - Java
>
>
> Hi there,
>
> I wonder if somebody has defined (or even implemented) a mapping
> from XML Schema to Java, i.e. how does Java classes look like which
> can contain data represented in XML and constrained by a XML Schema.

The SOAP/1.0 protocol was designed with exactly this in mind. Check out Section 8 of the SOAP spec (http://search.ietf.org/internet-drafts/draft-box-http-soap-01.txt). There is a Java/SOAP serializer at http://www.develop.com/soap. Once I finish my book manuscript on Friday of next week (yippee), I plan on (a) fixing the pending bugs and (b) adding support for schema<->class compilation.

 I'm aware of DTD tools (Oracle, alphaWorks), but don't know
> the details.
> SOAP defines something the other way around: rules for expressing
> (Java) types in XML.

Right. The SOAP approach is similar in spirit to the SML approach - that is, if your goal is to use XML as a serialziation format for your application's types, Section 8 defines a uniform method for translating standard programming language constructs (e.g., struct, class, array) into XML and XML Schema. This method is largely a formalization of element-normal-form encoding (which is a/the core concept in SML).

That stated, we (the authors of the SOAP spec) left an escape hatch in the encoding style to allow arbitrary XML-based serialization styles to be used. Additionally, we (DevelopMentor - the company I work at) designed our [de]serialization engine to support pluggable translators based on alternative encoding styles.

There are a variety of Java-based "data-binding" proposals out there that you ought to look at as well. Koins and XMOP come to mind, but I am sure there are others.

DB
http://www.develop.com/dbox


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member