One of the continuing quandries I’ve had with XML is the management of multiple XML documents. If I have one, big XML document, then it’s easy to work with — to parse with an API, to transform with XSLT, to query with XPath.
But what if I have many documents? For instance, what if I have all my blog entries (400+ at last count) as individual XML documents in a directory somewhere and I want to find all entries containing the word “cuisinart”? What do you do then? Iterate through all the documents firing off XPath queries and somehow persist all the documents that match then go back and get them when the loop is done? This seems ugly, but the alternative — having everything in one, monolithic XML document — seems worse.
I’ve heard that Oracle 8 will let you do an XPath query on an individual field in the WHERE clause. I’m trying to figure out if SQL Server 2000 will let you do the same thing. MySQL would be even better, but perhaps that’s hoping for too much.