I want to create a database design were a custom type objects can be created, linked and retrieved.
I am planning to design a framework which will provide user a capability to define his own object structure and store it. He should be able to retrieve the values based on the fields defined in his objects.
I am planning to have XML to pass the information between client and the server, but I am struggling with coming up with an acceptable database design for this.
You might want to look into EAV databases though it's not a very popular design choice on the forum. Main issue being that you loose the inbuilt ability to set referential integrity. Many folks on the forum have horror stories to tell about how a system they inherited was full of bad data or was very slow etc. Personally I haven't run into these issues but YMMV. At the end of the day there are very few alternatives offering the same functionality (XML). It might be worth using an existing EAV system - you should be able to define your own entities, add your attributes and just get going. Using an existing system for a while might give you an insight into their pros and cons of this method.