[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML and Objects

  • From: David Brownell <db@E...>
  • To: "XML Developers' List" <xml-dev@i...>
  • Date: Tue, 29 Sep 1998 00:28:31 -0700

java deserialize xml
david@m... wrote:
> 
> Gregory M. Messner writes:
> 
>  > I am leaning towards multipart/related, but would like to know of
>  > others experience in this area.
> 
> The key is to use a streaming protocol so that you can start
> processing the first files while the rest are arriving.  ZIP is
> useless for this purpose, since it keeps the directory information at
> the end; TAR is good, as (I think) is CPIO.

The Java ARchive (JAR) format has manifests at the very beginning,
so that the correct digital signatures can be computed during download.
This can be used with non-Java systems, but nowadays I have the worst
time understanding why anyone would work with any other system!  ;-)


>  > 2) We desire to provide an API on the client side which exposes a
>  > simple mechanism for creating and modifying objects. These objects
>  > are serialized using XML and then transported to a server for
>  > further processing. The server then responds with another XML
>  > document that we then de-serialize into an object and present it to
>  > the API user. Here are some basic requirements:
>  >
>  >     * Support for both Java and C++
>  >     * API must be similar for both Java and C++
>  >     * Object members are accessed via get/set methods
>  >     * Adhere to JavaBean method naming patterns
> 
> The DOM would be a pretty close (and obvious) fit, and has the
> advantage of being very close to W3C Recommendation.

Yes, but ... it depends on what's meant by serialize/deserialize
though.  There are quite a few options there (in just XML systems,
four come quickly to mind!) so more info may be helpful.  DOM does
not say how to read or write DOM objects, and nodes don't really
have get/set method naming for "data" (just DOM info).  Other sorts
of solution may be closer to what Gregory wanted.

For example, in Java it's (way) easy to put together something that
can "serialize" (not in the "java.io" sense though) beans like:

	<BEAN CLASS="com.example.foo.SimpleBean">
	    <PROPERTY NAME="prop1" DCD:i4>49</PROPERTY>
	    <PROPERTY NAME="prop2" DCD:string>hello world</PROPERTY>
	    ...
	    </BEAN>

Then reading it back in Java is a case of taking the "CLASS" tag
and instantiating, then assigning properties.  In C++ it'd need a
table associating that class with some custom generated C++ stuff.
Plus of course there are corner cases like wanting to emit strings
containing characters that are not legal XML -- formfeed, BEL, and
so on.  (That'd be one reason why when I did such stuff, I didn't
use DCD.)  Reflection makes stuff like that rather simple to do;
you can use custom generated code, but don't need to.

That particular solution doesn't require DOM at all. 

- Dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.