- As a hand-edited format for anything. (Cf. Tomcat config files, Ant input files, Apache 2.0 config files ... basically anything you can find at [Apache].)
- As a database.
- For creating custom data exchange formats that compete against itself... See the use for XBRL below.
Appropriate uses for XML
- As a data exchange format -- you know, export/import. And only because it's a standard, and there are tools available to do the hard parts of generating and parsing it for you.
- Keeping D.B. busy so he doesn't break any real software.
- nfs Lol! But you're a little off. That's what XBRL is for. :)
Ant does Ant
Chatted with a guy at work on NFS's team. In strange, Douglas Adams sort of coincidence, his nickname is Ant. They're using Ant to build their system, and Ant is the main maintainer of the build system, I think. (He has also worked with Tomcat and Apache.) He looked kind of embarassed when I exclaimed my amazement that anyone would find it comfortable to edit this stuff by hand, especially when compared to the syntactic simplicity of things like make. But he stuck to his guns that this wasn't an inconvenience. He claims that he hardly notices the XML verbiage anymore when working on Ant config files.
I've worked on XML-based config files too, and I think he's nuts. I'll have to take a look at Ant's semantics some more and see if I can't sketch out an equivalent but syntactically simpler configuration language that would convince him how grody this. I think people who work on XML just copy-paste-and-modify everything. :-)