Lists Home |
Date Index |
- From: Steve Withall <email@example.com>
- To: "XML Developers' List" <firstname.lastname@example.org>
- Date: Tue, 29 Sep 1998 18:04:36 +1000
At 00:28 29/9/98 -0700, David Brownell wrote:
>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>
>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.
The problem I have with this approach is that it limits you to specifying just a single class. Surely in the general case one wants to be able to use an XML element to represent some sort of 'thing' (avoiding the word object), and it should be possible for multiple applications to use this XML document, each one possibly wishing to instantiate the 'thing' using a different class.
I'd prefer the identification of which class a particular application should use for a particular type of element to be external (using DCD, for example). The document itself then remains 'purer', uncluttered with this application-specific information.
Also, I assume (hope!) you're using the element name 'BEAN' just as an example, and that in practice you'd use 'meaningful' element names. This would, however, make the use of 'PROPERTY' attributes more problematical.
xml-dev: A list for W3C XML Developers. To post, mailto:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)