>>27
That's a really common databse term.
>>26
Way to reply to yourself there. ;)
XML is far from human-readable. You're just as well off editing the output from mysqldump. It's a hideous format, with stupendously commplicated character escaping rules that are highly dependent on the location of data (
< is special, except in a CDATA block where anything is valid (
except for the sequence
]]>, which is incidentally perfectly valid
outside of a CDATA block!) a
<!-- comment --> can't have
-- in it even though that's valid elsewhere; you can have unescaped quote marks except in strings where they need to be &-escaped; certain characters are invalid everywhere
even when escaped so you can't reference
\x02 in an XML file, even if you try to write it as
... except for within CDATA blocks where &-escapes don't get interpreted at all.
Incidentally, a flat text-file format is
actually human readable and modifiable, more so than XML; and in addition, it's more straightforward, easier to parse, faster to implement, and every bit as portable.
As for SQL, it
can be human readable and modifiable, and DBMSes typically come with several tools to make it easy to modify and manipulate the data in a
sane manner so that Joe Random User doesn't fuck everything up for your application. Every SQL engine has some prompt, which can be used to edit the raw data if desired or necessary; and most of them have some form of access control built in, if you need that. Does your XML do that?
Oh and if you really want to edit the data in a text editor for some reason, you can use
pg_dump,
mysqldump, etc., manipulate it as a set of
INSERT statements, and then reload it into the database -- or even into another database, if you want. If you're more inclined to editing it in a more grid-like format, many databases offer a way to export to CSV or similar. (Does your XML do that?)
ENTERPRISE databases naturally require a db server, which reduces portability somewhat, but it's quite easy to install something like mysql or postgres on your own computer; aside from that, since SQLite is self-contained, you've got portability as well. (And it
still offers most, if not all, of the features that you're actually likely to
use for an application where portability is even of the slightest concern.)