I have very little experience with XML, but I think it may help to solve a problem for my company. They are a direct sale company and every time they change fulfillment houses( the company that executes the orders and the billing ), they have to modify their internal data structures to meet those of the new fulfillment house; that also means major changes to all the applications that run off of that database. It seems to me that developing XML schemas for the various sets of information that we need to send to the fulfillment house will enable us to leverage XSL when we need to deliver that info in a specific format, as well as to transform our internal data into a form that can be more readily processed by a new fulfillment house if we ever need to switch again.
Here's a sample XML document that might be used to describe the choices of products that a customer has for a given promtion:
The XML above indicates that the customer can/must choose 2 products. One must be a mug, hat, or thermos and the other must be either a robe or a jacket.
Other than the oversimplification, I see two problems with this system as opposed to the current system. How will we be able to report on common product groupings. I included the id attribute for Offers with the idea that each "offers" id would indicate a unique set of "offer" tags. How could I enforce this. It's simple with a database, you just use a "lookup" table.
Also, if we were using a "lookup" table, then we would just send the id from the lookup table rather than all the offer and product details. We would only have to send those once and then send the id's that reference a specific grouping of offers and products. It seems like we need to send all the information every time.
Would you just design more xml documents that function as lookups?
Lastly, it seems like it would be much slower and somewhat unwieldy to do analysis reporting off of scores of xml files. For instance, if I needed to extract the id of a campaign for each campaign that had an <offers> with a specific id, wouldn't that be painfully slow?
Sorry to be so long winded. I'm really excited about all of this but have no one at work to consult with.
[ January 12, 2002: Message edited by: Brian Podolny ]