Well, I am going to take a different slant. I say they should be used together. The reasons:
1. XML is hierarchical in nature and so hierarchical data is much easier to access/represent.
2. Through the use of XPath it is VERY easy to access the data in an XML document.
3. XSLT allows you to merge or remove data simply, and also in the case of Web Applications, easilly transform it into HTML for display.
What is XML not good at:
1. Storing and manipulating large amounts of data.
2. Providing secured and authenticated access and storage.
3. Building relational data in the sense of a database i.e. joining tables etc in SQL
What I think is the best solution:
Use SQL Server 2000 to store and manipulate your data. You can then use the
caluse to return your data as XML from the SQL Server database. You can then use XPath, DOM, XSLT etc to access and manipulate this data. Its also very easy to pass about the network and share amongst different applications.
You still get the benefit of the relational database performance, security, and data integrity (as well as ease of use and development). You also then get the benefit of presenting your data to your client applications as XML (or recordset/dataset if you require).
MySQL doesn't provide that functionality yet, but Oracle does a similra thing.
James
James Culshaw
james@miniaturereview.co.uk