/* This is the BrainML-X protocols subschema describing interactions with data servers. Included are a means to submit experimental data or other contents to a data server, and a means to query a data server for data submissions matching certain criteria. */ targetNamespace "urn:bml/brainml.org:internal/Protocols/5" namespace "urn:bml/brainml.org:internal/Protocols/5" import "http://brainml.org/schemas/internal/BrainMetaL/1/xml.xsd" namespace "http://www.w3.org/XML/1998/namespace" include "http://brainml.org/schemas/internal/Protocols/5/imperatives.xsd" /* Data query. */ element data_query { data_query-type } complexType data_query-type extends query-type { ( conditions, return ) } /* Data response. */ element data_response { data_response-type } complexType data_response-type extends response-type { ( { any }, ) } /* Specifies conditions for data_query. */ element conditions { conditions-type } complexType conditions-type { ( and | or | \field )+ } /* Specifies return fields for data_query. */ element return { return-type } complexType return-type { ( entity, )+ /* Specify schema namespace starting point for contained references. */ attribute xml:base /* Whether the raw data (not just the metadata) should be included in the returned XML. Valid values are 'true' and 'false'. If left out, this attribute defaults to 'true'. */ attribute includeData { xs:token { /true|false/ } } /* Specify that only results with these status codes should be returned. Value should be a comma-separated list of codes, which are server- dependent. These indicate things like whether a submission has been approved by a moderator, whether it is currently active, etc.. If this attribute is left out (usually it should be), the server will return results matching a default status code or set of codes. Some servers may only heed a statusCode request if the requestor has authenticated and includes an authorization key in the request with appropriate permissions. */ attribute statusCodes { xs:string } } /* Data submission wrapper. The contents are given as one or more elements from any BrainML namespace under this element. */ element data_submission { data_submission-type } complexType data_submission-type extends submission-type { ( { any }, ) } /* Data update wrapper. The contents are given as one or more elements from any BrainML namespace under this element. */ element data_update { data_update-type } complexType data_update-type extends submission-type { ( { any }, ) } /* Acknowledgement, which includes a repetition of the user name and identifier given with the submission, together with a status indicator. Child submitted_entity elements contain information on the individual components of the submission. */ element data_acknowledgement { data_acknowledgement-type } complexType data_acknowledgement-type extends acknowledgement-type { ( ( submittedEntity, )+ | ( error, )+ ) /* Status of the submission. SUCCESS means all components of the submission were accepted; PARTIAL means that some were, while errors occurred during the processing of others. FAILED means that no components were accepted. */ attribute status { xs:token { /SUCCESS|PARTIAL|FAILED/ } } }