Schema for XPD metadatastore documents
An important thing to note is the "server/client" key convention.
Servers contain the data that the key describes.
For example, calibration data is stored in a server which has the key detector_calibration_server_uid containing a uid value.
This server contains the images/other data needed to calibrate the detector.
Subsequent datasets that will use this calibration are clients that hold a reference to the server with the correct calibration data by having the same value for detector_calibration_client_uid as the detector_calibration_server_uid of the server.
A great utility of the "server/client" naming is that clients of one data set can be servers of others. For example you can have one data set which has a background but in turn acts as the background for another data set, in which case it will have both client and server keys.