That makes sense. How are you going to store this data, internally? Representing it as XML is fine for Web consumption, but sucks for searchability and scaling. You thinking of using a relational database, or maybe an object database, then serving the data over SOAP/REST?