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

Re: XML Object Serialization

  • To: xml-dev <xml-dev@l...>
  • Subject: Re: XML Object Serialization
  • From: "Anthony B. Coates" <abcoates@T...>
  • Date: Wed, 30 Oct 2002 10:11:50 GMT
  • Reply-to: "Anthony B. Coates" <abcoates@T...>

custom xml serialization
** Reply to message from Kal Ahmed <kal@t...> on Tue, 29 Oct 2002
21:16:51 +0000

> How about coding to an abstract data model with greater expressive power than 
> a simple XML schema (small s). Like a topic map or RDF abstraction for 
> example ? (I'm only slightly joking here ;-)

Interesting suggestion, so let me give you a real-life example.  I'm a
co-editor of MDDL, the Market Data Definition Language (www.mddl.org).  MDDL
treats most of its elements as "properties" whose values can be inherited from
ancestors if they haven't been directly defined on a child element.  This makes
the instance files much smaller where there is repeated information (like the
currency), but with >260 property elements, it makes the Schema impossible to
write by hand with any semblance of quality control.

So, for version 1.0 of MDDL, we (the editors) wrote a basic Schema by hand
without any inheritance or other shorthand tricks, and I wrote an XSLT
stylesheet to process that into the full Schema (as well as creating the nearest
equivalent DTD).  This worked, but it wasn't completely manageable.  There are
typically multiple ways to construct an XML Schema to achieve the instance
document format that you want.  That becomes a nightmare when you want to
process the Schema automatically to enhance it, because of the need to cope for
likely variations.  Worse, as time goes by, there is a real risk that new
editors will introduce new and unforseen kinds of variations in the Schema, and
then everything would fall in a heap.

What I needed was a way of imposing a particular style on the base Schema.  You
could do this by writing code to check the style, but for a generic language of
any sort (schema, topic map, RDF, programming language, or anything else), this
is not a trivial task.  Instead, I went back 20 years to when people advocated
the creation of small, custom programming languages for particular problem
areas (using lexx/yacc or flex/bison), so that developers were forced to focus
on the problem itself rather than on which of the many features of their bloated
generic language they would use.  My solution, then, was to create a small,
tight, custom schema language in XML for the MDDL data model, one which only
allows just enough functionality to do the things needed for MDDL, and nothing
more.  We have used this for MDDL 2.0, and it works!  While the main MDDL Schema
is 600K, the data model is 30K, and I have been able to use the data model to
produce not only the Schema but a visual representation of MDDL

http://www.mddl.org/LMS_MDDL/index.html

which would have been all but impossible to produce from the final Schema.

Now, this is not a criticism of XML Schema nor Topic Maps, RDF, etc.  XML
Schema is a good input format for Schema validation engines that help remove a
ton of verification code from applications consuming XML.  However, the variety
of things that XML Schema must support in order to do that job means that it can
be hard to use it as a design format and maintain sufficient consistency of
design.  Similarly, Topic Maps and RDF are good formats for information engines
to work with, but when authoring, the same questions of how to maintain
consistency arise.  Until design tools allow that consistency of style and usage
to be imposed on Schemas, Topic Maps, RDF, & whatever, there is a lot to be said
for starting from a small, custom XML format, and then generating the various
generic formats from that.  That said, I expect that Topic Maps will be a
similarly useful starting format once ISO finishes the Topic Map Constraint
Language and tools start supporting it.

	Cheers,
		Tony.
====
Anthony B. Coates, Information & Software Architect
mailto:abcoates@T...
MDDL Editor (Market Data Definition Language)
http://www.mddl.org/

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.