On Friday 23 February 2001 14:14, Stephen White wrote:
> On Sat, 24 Feb 2001, Steve Tuckner wrote:
> > 1. Store all application data as xml documents. One per object (Since
> > ruby excels at text manipulation)
>
> Just a brief side-track... but I'm seeing "XML" everywhere and I just don't
> click onto why everyone's talking about it.
>
> It seems to me that XML is a really weak SQL, with the difference that
> anything is supposed to be able to parse it... but ends up with everyone
> having to create and re-create a database in their code instead of just
> using SQL or an external database.
>
> I don't even grok why expat is 300k of C source to find <tags>, so that
> gives you an idea how little I know...

Back in the first half of the last century there werre a number of movements 
to create a 'universal' language. One of these was esperanto, another Basic 
English.  XML can be thought of as a kind of 'universal language' for 
information interchange.

It can also be thought of a a meta-language, in that, with XML you define 
customized tags and attributes for these. This 'defining' is done via a 
'document type definition'  (DTD). As long as you and I write to the same DTD 
(which can be located anywhere on the Internet) then we can exchange even 
highly customized data unique to our respective needs.  It doesn't make any 
difference how each of us processes that data internally, so long as the 
input and output is XML written to an agreed DTD. These DTD's can be industry 
standards (for example the financial industry could have a standard DTD under 
which stock transactions are described), or standard for a specific group 
(e.g. you could have a standard DTD via which you and your vendors exchange 
information within an extranet), etc.

Actually, this isn't very different in concept from any system that can 
exchange objects, e.g dRuby. However, dRuby per se can only exchange object 
information within the dRuby environment whereas XML can move among different 
environments that conform to an agreed upon DTD. If I write a 'talk' server 
to process Ruby objects, then only clients that process Ruby objects can 
participate on that network. OTOH if I write a Ruby server that parses XML, 
then _any_ client which processes any objects specific to it can participate 
as long as it parses XML in accordance with an agreed-upon DTD. So, I think, 
you see the possibilities! :-)

Regards,

Kent Starr
elderburn / mindspring.com