<!--
********************************************************
*
* dna_integrate.xsd
*
* Authors: The DNA team, http://www.dna.ac.uk
*
* Version: SId: dna_integrate.xsd,v 1.18 2005/11/22 13:38:15 svensson Exp S
*
********************************************************
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dna="http://www.dna.ac.uk/DNA_XMLSchema">
<xsd:include schemaLocation="dna_common.xsd"/>
<xsd:complexType name="integrate_request">
<xsd:sequence>
<xsd:element name="extra_commands"
minOccurs="0"
maxOccurs="1"
type="extra_commands"/>
<xsd:element name="start"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="end"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="number_of_batches"
minOccurs="0"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="fileinfo"
minOccurs="0"
maxOccurs="1"
type="fileinfo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="single_integrate_request">
<xsd:sequence>
<xsd:element name="extra_commands"
minOccurs="0"
maxOccurs="1"
type="extra_commands"/>
<xsd:element name="image"
minOccurs="1"
maxOccurs="unbounded"
type="xsd:integer"/>
<xsd:element name="fileinfo"
minOccurs="0"
maxOccurs="1"
type="fileinfo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="integrate_response">
<xsd:sequence>
<xsd:element name="status"
minOccurs="1"
maxOccurs="1"
type="status"/>
<!-- need to define the type "integrated_image" somewhere -->
<xsd:element name="integrated_image"
minOccurs="0"
maxOccurs="unbounded"
type="integrated_image"/>
<xsd:element name="calculated_resolution"
minOccurs="0"
maxOccurs="1"
type="resolution"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="spot_information">
<xsd:sequence>
<xsd:element name="full_spots"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="partial_spots"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="overlap_spots"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="negative_spots"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="bad_spots"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="integration_summary">
<xsd:sequence>
<xsd:element name="distance"
minOccurs="1"
maxOccurs="1"
type="xsd:double"/>
<xsd:element name="yscale"
minOccurs="1"
maxOccurs="1"
type="xsd:double"/>
<xsd:element name="overall_signal"
minOccurs="1"
maxOccurs="1"
type="xsd:double"/>
<xsd:element name="outer_signal"
minOccurs="1"
maxOccurs="1"
type="xsd:double"/>
<xsd:element name="spot_information"
minOccurs="1"
maxOccurs="1"
type="spot_information"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="integrated_image">
<xsd:sequence>
<xsd:element name="image"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="integration_bin"
minOccurs="1"
maxOccurs="unbounded"
type="integration_bin"/>
<xsd:element name="integration_summary"
minOccurs="1"
maxOccurs="1"
type="integration_summary"/>
<xsd:element name="refined_mosaic_spread"
type="xsd:double"
minOccurs="0"
maxOccurs="1"/>
<xsd:element name="resolution"
minOccurs="0"
maxOccurs="1"
type="resolution"/>
</xsd:sequence>
</xsd:complexType>
<!-- next to define a few of the types here described -->
<xsd:complexType name="spot_profile">
<xsd:sequence>
<xsd:element name="width"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="height"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<!-- the profile is really a sequence of integers, but how
can we express this in an XML Schema? -->
<xsd:element name="profile"
minOccurs="1"
maxOccurs="1"
type="xsd:string"/>
<xsd:element name="mask"
minOccurs="1"
maxOccurs="1"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="integration_bin">
<xsd:sequence>
<xsd:element name="number"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<!-- also need to define the resolution type -->
<xsd:element name="resolution"
minOccurs="1"
maxOccurs="1"
type="resolution"/>
<xsd:element name="measured_spots_profile"
minOccurs="1"
maxOccurs="1"
type="measured_spot_summary"/>
<xsd:element name="measured_spots_summation"
minOccurs="1"
maxOccurs="1"
type="measured_spot_summary"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="measured_spot_summary">
<xsd:sequence>
<xsd:element name="full"
minOccurs="1"
maxOccurs="1"
type="spot_summary_element"/>
<xsd:element name="partial"
minOccurs="1"
maxOccurs="1"
type="spot_summary_element"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="spot_summary_element">
<xsd:sequence>
<xsd:element name="spot_count"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="signal"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="noise"
minOccurs="1"
maxOccurs="1"
type="xsd:integer"/>
<xsd:element name="signal_to_noise"
minOccurs="1"
maxOccurs="1"
type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="start_images">
<xsd:sequence>
<xsd:element name="image"
minOccurs="1"
maxOccurs="unbounded"
type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="end_images">
<xsd:sequence>
<xsd:element name="image"
minOccurs="1"
maxOccurs="unbounded"
type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cell_refinement_request">
<xsd:sequence>
<xsd:element name="extra_commands"
minOccurs="0"
maxOccurs="1"
type="extra_commands"/>
<xsd:element name="start_images"
minOccurs="1"
maxOccurs="1"
type="start_images"/>
<xsd:element name="end_images"
minOccurs="1"
maxOccurs="1"
type="end_images"/>
<xsd:element name="symmetry"
minOccurs="0"
maxOccurs="1"
type="spacegroup"/>
<xsd:element name="fileinfo"
minOccurs="0"
maxOccurs="1"
type="fileinfo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cell_refinement_response">
<xsd:sequence>
<xsd:element name="status"
minOccurs="1"
maxOccurs="1"
type="status"/>
<xsd:element name="refined_cell"
minOccurs="0"
maxOccurs="1"
type="cell"/>
<xsd:element name="refined_mosaic_spread"
type="xsd:double"
minOccurs="0"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>