<!-- ******************************************************** * * dna_common.xsd * * Authors: The DNA team, http://www.dna.ac.uk * * Version: SId: dna_common.xsd,v 1.18 2005/12/19 16:19:28 svensson Exp S * ******************************************************** --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dna="http://www.dna.ac.uk/DNA_XMLSchema"> <xsd:simpleType name="status_code"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ok"/> <xsd:enumeration value="warning"/> <xsd:enumeration value="error"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="mosflm_commands"> <xsd:sequence> <xsd:element name="command" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="scala_commands"> <xsd:sequence> <xsd:element name="command" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="xds_commands"> <xsd:sequence> <xsd:element name="command" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="extra_commands"> <xsd:sequence> <xsd:element name="mosflm_commands" minOccurs="0" maxOccurs="1" type="mosflm_commands"/> <xsd:element name="scala_commands" minOccurs="0" maxOccurs="1" type="scala_commands"/> <xsd:element name="xds_commands" minOccurs="0" maxOccurs="1" type="xds_commands"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="status"> <xsd:sequence> <xsd:element name="code" minOccurs="1" maxOccurs="1" type="status_code"/> <xsd:element name="message" minOccurs="0" maxOccurs="1" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="fileinfo"> <xsd:sequence> <xsd:element name="directory" minOccurs="1" maxOccurs="1" type="xsd:string"/> <xsd:element name="prefix" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="suffix" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="template" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="run_number" minOccurs="0" maxOccurs="1" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> <!-- <fileinfo> <directory>/data/id14eh1/inhouse/dna</directory> <prefix>dnatest</prefix> <run_number>3</run_number> </fileinfo> --> <xsd:complexType name="oscillation_sequence"> <xsd:sequence> <xsd:element name="start" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="end" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="range" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="number_of_images" minOccurs="0" maxOccurs="1" type="xsd:integer"/> <xsd:element name="overlap" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="exposure_time" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="start_image_number" minOccurs="0" maxOccurs="1" type="xsd:integer"/> <xsd:element name="number_of_passes" minOccurs="0" maxOccurs="1" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> <!-- Example oscillation_sequence: <oscillation_sequence> <run_number>1</run_number> <start>0.0</start> <range>1.0</range> <number_of_images>2</number_of_images> <overlap>-89.0</overlap> <exposure_time>1.0</exposure_time> <start_image_number>1</start_image_number> <number_of_passes>1</number_of_passes> </oscillation_sequence> --> <xsd:complexType name="detector"> <xsd:sequence> <xsd:element name="type" minOccurs="1" maxOccurs="1" type="xsd:string"/> <xsd:element name="suffix" minOccurs="0" maxOccurs="1" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="beam"> <xsd:sequence> <xsd:element name="x" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="y" minOccurs="1" maxOccurs="1" type="xsd:double"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="cell"> <xsd:sequence> <xsd:element name="a" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="b" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="c" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="alpha" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="beta" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="gamma" minOccurs="1" maxOccurs="1" type="xsd:double"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="experiment"> <xsd:sequence> <xsd:element name="wavelength" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="distance" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="resolution" minOccurs="0" maxOccurs="1" type="resolution"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="matrix"> <xsd:sequence> <xsd:element name="e11" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e12" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e13" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e21" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e22" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e23" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e31" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e32" minOccurs="1" maxOccurs="1" type="xsd:double"/> <xsd:element name="e33" minOccurs="1" maxOccurs="1" type="xsd:double"/> </xsd:sequence> </xsd:complexType> <!-- TYPE dna:Percentage - a decimal number constrained thus: 0.0 .le. value .le. 100.0 Using FORTRAN style constraints because symbols are used by XML --> <xsd:simpleType name="percentage"> <xsd:restriction base="xsd:double"> <xsd:minInclusive value="0.0"/> <xsd:maxInclusive value="100.0"/> </xsd:restriction> </xsd:simpleType> <!-- The spacegroup - which must be one of these --> <xsd:simpleType name="spacegroup"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unknown"/> <xsd:enumeration value="P1"/> <xsd:enumeration value="P2"/> <xsd:enumeration value="P21"/> <xsd:enumeration value="C2"/> <xsd:enumeration value="P222"/> <xsd:enumeration value="P2221"/> <xsd:enumeration value="P21212"/> <xsd:enumeration value="P212121"/> <xsd:enumeration value="C222"/> <xsd:enumeration value="C2221"/> <xsd:enumeration value="F222"/> <xsd:enumeration value="I222"/> <xsd:enumeration value="I212121"/> <xsd:enumeration value="P4"/> <xsd:enumeration value="P41"/> <xsd:enumeration value="P42"/> <xsd:enumeration value="P43"/> <xsd:enumeration value="P422"/> <xsd:enumeration value="P4212"/> <xsd:enumeration value="P4122"/> <xsd:enumeration value="P41212"/> <xsd:enumeration value="P4222"/> <xsd:enumeration value="P42212"/> <xsd:enumeration value="P4322"/> <xsd:enumeration value="P43212"/> <xsd:enumeration value="I4"/> <xsd:enumeration value="I41"/> <xsd:enumeration value="I422"/> <xsd:enumeration value="I4122"/> <xsd:enumeration value="P3"/> <xsd:enumeration value="P31"/> <xsd:enumeration value="P32"/> <xsd:enumeration value="P312"/> <xsd:enumeration value="P321"/> <xsd:enumeration value="P3112"/> <xsd:enumeration value="P3121"/> <xsd:enumeration value="P3212"/> <xsd:enumeration value="P3221"/> <xsd:enumeration value="P6"/> <xsd:enumeration value="P61"/> <xsd:enumeration value="P65"/> <xsd:enumeration value="P62"/> <xsd:enumeration value="P64"/> <xsd:enumeration value="P63"/> <xsd:enumeration value="P622"/> <xsd:enumeration value="P6122"/> <xsd:enumeration value="P6522"/> <xsd:enumeration value="P6222"/> <xsd:enumeration value="P6422"/> <xsd:enumeration value="P6322"/> <xsd:enumeration value="R3"/> <xsd:enumeration value="R32"/> <xsd:enumeration value="H3"/> <xsd:enumeration value="H32"/> <xsd:enumeration value="P23"/> <xsd:enumeration value="P213"/> <xsd:enumeration value="P432"/> <xsd:enumeration value="P4232"/> <xsd:enumeration value="P4332"/> <xsd:enumeration value="P4132"/> <xsd:enumeration value="F23"/> <xsd:enumeration value="F432"/> <xsd:enumeration value="F4132"/> <xsd:enumeration value="I23"/> <xsd:enumeration value="I213"/> <xsd:enumeration value="I432"/> <xsd:enumeration value="I4132"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="dna_message"> <xsd:sequence> <xsd:element name="type" minOccurs="1" maxOccurs="1" type="xsd:string"/> <xsd:element name="content_type" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="level" minOccurs="0" maxOccurs="1" type="xsd:integer"/> <xsd:element name="message" minOccurs="1" maxOccurs="1" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <!-- input & output reflection files --> <xsd:complexType name="input_reflections"> <xsd:sequence> <xsd:element name="hklin" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="output_reflections"> <xsd:sequence> <xsd:element name="hklout" type="xsd:string" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="resolution"> <xsd:sequence> <xsd:element name="lower" minOccurs="0" maxOccurs="1" type="xsd:double"/> <xsd:element name="upper" minOccurs="0" maxOccurs="1" type="xsd:double"/> </xsd:sequence> </xsd:complexType> <!-- The abort level - which must be one of these --> <xsd:simpleType name="abort_level"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="stop_immediately"/> <xsd:enumeration value="stop_after_finishing_current_task"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="abort_request"> <xsd:sequence> <xsd:element name="level" minOccurs="1" maxOccurs="1" type="abort_level"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="abort_response"> <xsd:sequence> <xsd:element name="status" minOccurs="1" maxOccurs="1" type="status"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="sample_reference"> <xsd:sequence> <xsd:element name="code" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="container_reference" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="sample_location" minOccurs="0" maxOccurs="1" type="xsd:string"/> <xsd:element name="blSampleId" minOccurs="0" maxOccurs="1" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> </xsd:schema>