What about Databases?
I feel obliged to say something about using XML with databases (probably for no reason other than one of my editors suggested it to me!). However, in a book that I've tried to make general and not specific to any product it's awfully hard to say very much about database support for XML. The latest versions of most major relational database management systems (RDBMSs) have some degree of XML support. Some of it is fairly sophisticated. The hitch is that there isn't a standard way to support XML in an RDBMS. Given that state of affairs, I offer two pieces of advice. The first is that you should review the features of your particular product and see if it offers the functionality you need. The second is to be aware that if you use your product's XML features, you may be locking yourself into a specific vendor.
Beyond those two main bits of advice there are other issues to consider. You may be running an old version of the database management system that doesn't provide all this nifty XML support. If your application was developed with this old version, there may very well be issues in migrating the database to the new version without changing, or at least rebuilding, the application. Beyond that, there are always licensing issues. Despite the fact that software vendors would like us to believe that everyone buys support contracts, a lot of companies don't. It sometimes costs a good deal of money to upgrade to the next version of a database management system even if you do have a support contract. This can be an issue particularly if you are an applications vendor. Changes in the underlying database engine can affect a very wide group of users.