WCF Service Schema Design

For a landmark location WCF service, I wanted to create a method, “GetLandmarks(lat, lon, radius)”, that returned a list of complex types to the caller. The prior art on this was very scattered at the time of this writing, so I have unified my findings in this post for future reference.

This is the schema definition for the “Landmark” complex type:

This is the schema definition for the “Landmarks” type, which is nothing more than a list of “Landmark” items:

This is the schema definition for the response message for the GetLandmarks() method call: