OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] What is XML For?

[ Lists Home | Date Index | Thread Index ]

On Thursday 24 October 2002 18:48, Paul Prescod wrote:

> > Yes they are.  The locale database (timezones, month names, etc) on your
> > Macintosh is all stored in Plist format and used by core libraries.
> All of these libraries are under a single point of administrative
> control. How do I define a purchase order schema for PLists that will be
> used by thousands of independent processes?

The same way you'd do it with XML, or TSV, or anything! XML doesn't make 
interchange any easier. You still need to agree what XML structure to use, or 
what column headings to use, or whatever.

> > And these applications are....what?  If we're designing an exchange
> > format, why must it have such a huge mismatch between how most data is
> > modeled and how it is exchanged?
> Do you think that SAP and Quicken use the same object model for a
> purchase order _internally_? Do you think that Word and Wordperfect have
> the same internal model of a document? Do you think that CorelDraw and
> Adobe FreeHand have the same internal model of a vector graphic?

Yes, I think so. The only differences between them are incidental, and if 
they all used the same file format for interchange then the only differences 
would be names of fields. And if this file format was nice enough to have 
automatic mapping into software objects, not even that!

> It is impossible to align the internal model with the external
> representation AND allow competing internal models. I personally am not
> willing to allow my internal model to be dicated by the wire
> representation: that would be a classic confusion between interface and
> implementation.

Ha ha ha ha ha!

> Therefore I accept that when I write a vector graphics program, there
> _will_ be an impedence mismatch between the file formats I must deal
> with (under the control of standards bodies rather) and my internal
> representation (under my control). Such is life.

Not really! Quite a few 'standard' bitmap file formats are just dumps of the 
memory structures used by the apps that first produced them - and they're all 
roughly the same: header, palette, bitmap data. Other apps that use the same 
file formats tend to use the same data structures because... they're already 
there. I'm talking PCX and BMP off of the top of my head, and probably many 
others from the Amiga / MacOS / Acorn camps too.

Sometimes you add extra pointers and indexing information when you load 
something, when loading a text file it's quite common to slurp it into memory 
as a character array but keep an array of indices of the starts of lines for 
fast movement to a given character position. In almost all plain text 
processing the in-memory and on-disk representations are *identical* with a 
few extra pointers put in, maybe splitting lines out into a linked list at 

> No, the question is not: "why does everyone disagree with you." The

I wouldn't say everyone disagrees with not using XML for stuff, it totalled 
failed to take off in many industries I've seen. CSV still rules the wires 
when it comes to exchanging databases, I'm afraid. We discontinued the option 
of providing XML to our database because nobody used it.

> question is: "Why didn't the techniques you describe meet people's needs?"

They clearly do! The plists have been in use on macs for how long, Mr. 
Blanchard? :-)

XML for data interchange has not filled a gaping need. An increased desire to 
exchange data online came around, and XML was a hot new thing happening in 
the W3C - aimed at replacing HTML on the Web at the time. So the people who 
wanted to interchange data used XML. They would have done just as well had 
XSLT and so on been developed on top of plists rather than XML, and maybe 
better - plists have a richer basic data model, it's a tree with seperate 
notions of key:value mappings and sequences rather than rolling both into one 
(with the old problems of what to put in attributes and what to put in child 
elements and mixed content and so on).

> If you want to understand, first invent vector graphics and purchase
> order models for plists (old-style or new, doesn't matter). Then write a
> schema (how?) for them so that you can communicate your wire
> representations to other programmers.

What would this exercise gain?


A city is like a large, complex, rabbit
 - ARP


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS