I disagree.  

Now, I may very well be talking out my butt here, since I've never
looked at XML closely, but my understanding is that one of the key
aspects of XML is that there's a tagged description of the data format
in the data itself, yes ?  That is, XML always includes the meta data
along with the data, so you can figure out what the data is.

Okay, this characteristic (including the meta-data) is also part of the
definition of an RDBMS system.  That is, a complete data format and type
description of all the data in the database is included in that
database.  You can't call yourself an RDBMS unless you store your
meta-data inside your database.  Every database I've ever worked with
(PostgreSQL, Sybase, Ingres, Oracle, MS-SQL Server, Interbase, yadda
yadda) does this.

So, once you have the data in the database, it's relatively as easy to
extend as any other meta-data containing system.

The other componant of XML as I understand it (or of any other meta-data
containing system), is to have predefined DDL's and componants to work
on those DDL's, so that you don't just know what the meta-data is, but
what it _means_.  This problem is similar _however_ you store your
data.  No advantage to any format here, you still have to have code to
handle it.

-- Pat

Derek Atkins wrote:
> 
> But this is just the same as:
> 
>         account_tree = load_file_version_1(filename);
>         save_file_version_2(filename2, account_tree);
> 
> You're not making an extensible format, you're changing the format
> of the data.
> 
> -derek
> 
> Patrick Spinler <[EMAIL PROTECTED]> writes:
> 
> > Ayup - snipped from the postgresql manual:
> >
> >   Name
> >
> >      ALTER TABLE -- Modifies table properties
> >
> >   Synopsis
> >
> >   ALTER TABLE table
> >       [ * ] ADD [ COLUMN ] column type
> >   ALTER TABLE table
> >       [ * ] RENAME [ COLUMN ] column TO newcolumn
> >
> > Also, speaking from experience, it's generally pretty trivial to save a
> > table, recreate it, and reload it from the save. E.g.:
> >
> >   create table foo_save as select b, c from foo;
> >   drop table foo;
> >   create table foo (new_a char, changed_b int, c date);
> >   insert into foo values select 'filler', int (b), c from foo;
> >
> > I do this a lot in the database projects I'm a dba for at work.
> >
> > -- Pat
> >
> >
> > --
> >       This message does not represent the policies or positions
> >            of the Mayo Foundation or its subsidiaries.
> >   Patrick Spinler                     email:  [EMAIL PROTECTED]
> >   Mayo Foundation                     phone:  507/284-9485
> >
> > _______________________________________________
> > gnucash-devel mailing list
> > [EMAIL PROTECTED]
> > http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel
> 
> --
>        Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>        Member, MIT Student Information Processing Board  (SIPB)
>        URL: http://web.mit.edu/warlord/      PP-ASEL      N1NWH
>        [EMAIL PROTECTED]                        PGP key available

-- 
      This message does not represent the policies or positions
             of the Mayo Foundation or its subsidiaries.
  Patrick Spinler                       email:  [EMAIL PROTECTED]
  Mayo Foundation                       phone:  507/284-9485

_______________________________________________
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to