I am wondering if there are best practices for deciding between when a system should be modeled using XML and when it should be modeled using a relational database (I know you can store XML in a database, but there is an enormous difference between modelling a system using normalized db tables and modelling a system using XML-Schema). For concreteness sake, let's say you were modeling exercises in a gym. The "bench press" is actually a family of exericses, not a single exercise. You can lie down on a bench, or a ball. You can force you're back flat or allow cheating. You can use dumbells, barbells, cables or a universal machine. If you are using dumbells you can alternate arms or push simultaneously. You can have an inclined, declined or flat surface. My thinking is that due to the complexity (and possible complexity that I have yet to think of) that this would best be modelled using xml. Is this a good assessment? What other important factors should be considered?
Addendum: When I said XML, one of the technologies I had in the back of my mind was RDF (though I did not wish to limit the discussion to that), which would seem to have pros and cons compared to implementing the design in database tables. I'm not sure if the general antipathy some users feel towards XML would extend all the way to RDF (maybe so) but perhaps that will help focus the conversation a little.