<!--
********************************************************
*
* dna_database.xsd
*
* Authors: The DNA team, http://www.dna.ac.uk
*
* Version: SId: ispyb.xsd,v 1.7 2006/01/06 09:37:44 svensson Exp S
*
********************************************************
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:dna="http://www.dna.ac.uk/DNA_XMLSchema">



  <xsd:complexType name="AnomalousScatterer">
    <xsd:sequence>
      <xsd:element name="anomalousScattererID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="element"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="numberOfInstances"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="incorporation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="assessmentMethod"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BLSample">
    <xsd:sequence>
      <xsd:element name="blSampleId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="diffractionPlanId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="containerId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="name"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="code"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="location"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="holderLength"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="loopLength"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="loopType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="wireWidth"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="completionStage"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="structureStage"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="publicationStage"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="publicationComments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="blSampleStatus"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="isInSampleChanger"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BLSample_has_Parameter">
    <xsd:sequence>
      <xsd:element name="BLsampleId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLightSource">
    <xsd:sequence>
      <xsd:element name="beamLightSourceId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="name"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="date"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLightSource_has_Hardware">
    <xsd:sequence>
      <xsd:element name="beamLightSourceId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="HardwareId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="hardwareParameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLightSource_has_Parameter">
    <xsd:sequence>
      <xsd:element name="beamLightSourceId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLineSetup">
    <xsd:sequence>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="date"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLineSetup_has_Hardware">
    <xsd:sequence>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="hardwareId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="hardwareParameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="BeamLineSetup_has_Parameter">
    <xsd:sequence>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Container">
    <xsd:sequence>
      <xsd:element name="containerId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="dewarId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="code"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="containerType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="capacity"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="sampleChangerLocation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="containerStatus"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Crystal">
    <xsd:sequence>
      <xsd:element name="crystalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="diffractionPlanId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proteinId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalUUID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="name"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="spaceGroup"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="morphology"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="color"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="size_X"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="size_Y"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="size_Z"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_a"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_b"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_c"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_alpha"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_beta"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="cell_gamma"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="CrystalType_has_Parameter">
    <xsd:sequence>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DNAScreening">
    <xsd:sequence>
      <xsd:element name="DNAScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="dataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalUUID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="programVersion"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DNAScreeningInput">
    <xsd:sequence>
      <xsd:element name="DNAScreeningInputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="beamX"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="beamY"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rmsErrorLimits"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="minimumFractionIndexed"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="maximumFractionRejected"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="minimumSignalToNoise"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="resolutionRequested"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DNAScreeningOutput">
    <xsd:sequence>
      <xsd:element name="DNAScreeningOutputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="rawOrientationMatrix"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="statusDescription"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="rejectedReflections"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="resolutionObtained"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="spotDeviationR"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="spotDeviationTheta"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="spaceGroup"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="beamShift"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="numSpotsFound"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="numSpotsUsed"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="numSpotsRejected"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="mosaicity"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DNAScreeningStrategy">
    <xsd:sequence>
      <xsd:element name="DNAScreeningStrategyID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningOutputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="phiStart"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="phiEnd"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rotation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="exposureTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="resolution"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DataCollection">
    <xsd:sequence>
      <xsd:element name="dataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="blSampleId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="experimentType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="startTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="endTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="runStatus"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="axisStart"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="axisEnd"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="axisRange"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="overlap"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="numberOfImages"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="startImageNumber"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="numberOfPasses"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="exposureTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="imageDirectory"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="imagePrefix"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="imageSuffix"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="fileTemplate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="dataCollectionNumber"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="wavelength"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="resolution"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="detectorDistance"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="xBeam"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="yBeam"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="printableForReport"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
      <xsd:element name="crystalClass"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="detectorType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DataCollection_has_Parameter">
    <xsd:sequence>
      <xsd:element name="DataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Dewar">
    <xsd:sequence>
      <xsd:element name="dewarId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="shippingId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="code"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="storageLocation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="dewarStatus"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="DiffractionPlan">
    <xsd:sequence>
      <xsd:element name="diffractionPlanId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="xmlDocumentId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="experimentKind"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="idealResolution"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="minimalResolution"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="exposureTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="oscillationRange"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Hardware">
    <xsd:sequence>
      <xsd:element name="hardwareId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="hardwareName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="hardwareType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="description"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="HardwareParameter">
    <xsd:sequence>
      <xsd:element name="hardwareParameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="hardwareId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="paramName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="description"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Image">
    <xsd:sequence>
      <xsd:element name="imageID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="dataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="fileName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="fileLocation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="measuredIntensity"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Image_has_Parameter">
    <xsd:sequence>
      <xsd:element name="dataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="imageID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Laboratory">
    <xsd:sequence>
      <xsd:element name="laboratoryId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="laboratoryUUID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="name"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="address"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="city"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="country"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="oraganization"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="url"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Parameter">
    <xsd:sequence>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="paramName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="shortTitle"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="paramType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="parameterUnit"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="description"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Person">
    <xsd:sequence>
      <xsd:element name="personId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="laboratoryId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="personUUID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="familyName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="givenName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="title"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="emailAddress"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="phoneNumber"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="login"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="passwd"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Proposal">
    <xsd:sequence>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="personId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="title"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="code"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="number"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Proposal_has_BLSample">
    <xsd:sequence>
      <xsd:element name="blSampleId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Protein">
    <xsd:sequence>
      <xsd:element name="proteinId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="name"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="acronym"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="molecularMass"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="proteinType"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="sequence"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="SafetyRequest">
    <xsd:sequence>
      <xsd:element name="safetyRequestId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="xmlDocumentId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proteinId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="projectCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="submissionDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="response"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
      <xsd:element name="reponseDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="responseDetails"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="SafetyRequest_has_Parameter">
    <xsd:sequence>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="safetyRequestId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Screening">
    <xsd:sequence>
      <xsd:element name="ScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="dataCollectionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="crystalUUID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="programVersion"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="ScreeningInput">
    <xsd:sequence>
      <xsd:element name="ScreeningInputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="ScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="beamX"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="beamY"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rmsErrorLimits"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="minimumFractionIndexed"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="maximumFractionRejected"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="minimumSignalToNoise"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="resolutionRequested"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="ScreeningOutput">
    <xsd:sequence>
      <xsd:element name="ScreeningOutputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="ScreeningID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="statusDescription"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="rejectedReflections"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="resolutionObtained"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="spotDeviationR"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="spotDeviationTheta"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="beamShiftX"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="beamShiftY"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="numSpotsFound"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="numSpotsUsed"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="numSpotsRejected"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="mosaicity"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="diffractionRings"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="ScreeningOutputLattice">
    <xsd:sequence>
      <xsd:element name="ScreeningOutputLatticeId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="ScreeningOutputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="spaceGroup"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="pointGroup"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="bravaisLattice"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="rawOrientationMatrix_a_x"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_a_y"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_a_z"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_b_x"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_b_Y"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_b_z"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_c_x"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_c_y"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rawOrientationMatrix_c_z"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_a"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_b"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_c"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_alpha"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_beta"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="unitCell_gamma"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="ScreeningStrategy">
    <xsd:sequence>
      <xsd:element name="ScreeningStrategyID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="ScreeningOutputID"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="phiStart"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="phiEnd"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="rotation"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="exposureTime"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="resolution"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:double"/>
      <xsd:element name="program"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Session">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="projectCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="startDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="endDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="beamLineName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="scheduled"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
      <xsd:element name="nbShifts"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Session_has_BLSample">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="blSampleId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Session_has_Parameter">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="value"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Session_has_Person">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="personId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="role"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="Shipping">
    <xsd:sequence>
      <xsd:element name="shippingId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="projectCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="deliveryAgent_agentName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="deliveryAgent_shippingDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="deliveryAgent_deliveryDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="deliveryAgent_agentCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="deliveryAgent_flightCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="shippingStatus"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="timeStamp"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="XSession">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="projectCode"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="startDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="endDate"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="beamLineName"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="scheduled"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:boolean"/>
      <xsd:element name="nbShifts"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="comments"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="XmlDocument">
    <xsd:sequence>
      <xsd:element name="xmlDocumentId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="XmlSchemaId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="xml"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



  <xsd:complexType name="XmlSchema">
    <xsd:sequence>
      <xsd:element name="xmlSchemaId"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:integer"/>
      <xsd:element name="description"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
      <xsd:element name="schema"
                   minOccurs="0"
                   maxOccurs="1"
                   type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>



<xsd:complexType name="dbstatus">
    <xsd:sequence>
      <xsd:element name="sessionId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="parameterId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="DataCollectionId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="containerId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="blSampleId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="proposalId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="BLsampleId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="ScreeningID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="ScreeningInputID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="xmlSchemaId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="safetyRequestId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="beamLineSetupId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="beamLightSourceId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="HardwareId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="crystalId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="anomalousScattererID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="dewarId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="ScreeningStrategyID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="ScreeningOutputID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="personId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="xmlDocumentId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningInputID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningOutputID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="shippingId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="laboratoryId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="hardwareId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="hardwareParameterId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="DNAScreeningStrategyID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="imageID"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="dataCollectionId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="ScreeningOutputLatticeId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="diffractionPlanId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <xsd:element name="proteinId"
                   minOccurs="0" 
                   maxOccurs="1" 
                   type="xsd:integer"/>
      <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="dbobject">
    <xsd:sequence>
      <xsd:element name="AnomalousScatterer_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="AnomalousScatterer"/>
      <xsd:element name="BLSample_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BLSample"/>
      <xsd:element name="BLSample_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BLSample_has_Parameter"/>
      <xsd:element name="BeamLightSource_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLightSource"/>
      <xsd:element name="BeamLightSource_has_Hardware_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLightSource_has_Hardware"/>
      <xsd:element name="BeamLightSource_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLightSource_has_Parameter"/>
      <xsd:element name="BeamLineSetup_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLineSetup"/>
      <xsd:element name="BeamLineSetup_has_Hardware_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLineSetup_has_Hardware"/>
      <xsd:element name="BeamLineSetup_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="BeamLineSetup_has_Parameter"/>
      <xsd:element name="Container_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Container"/>
      <xsd:element name="Crystal_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Crystal"/>
      <xsd:element name="CrystalType_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="CrystalType_has_Parameter"/>
      <xsd:element name="DNAScreening_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DNAScreening"/>
      <xsd:element name="DNAScreeningInput_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DNAScreeningInput"/>
      <xsd:element name="DNAScreeningOutput_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DNAScreeningOutput"/>
      <xsd:element name="DNAScreeningStrategy_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DNAScreeningStrategy"/>
      <xsd:element name="DataCollection_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DataCollection"/>
      <xsd:element name="DataCollection_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DataCollection_has_Parameter"/>
      <xsd:element name="Dewar_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Dewar"/>
      <xsd:element name="DiffractionPlan_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="DiffractionPlan"/>
      <xsd:element name="Hardware_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Hardware"/>
      <xsd:element name="HardwareParameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="HardwareParameter"/>
      <xsd:element name="Image_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Image"/>
      <xsd:element name="Image_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Image_has_Parameter"/>
      <xsd:element name="Laboratory_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Laboratory"/>
      <xsd:element name="Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Parameter"/>
      <xsd:element name="Person_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Person"/>
      <xsd:element name="Proposal_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Proposal"/>
      <xsd:element name="Proposal_has_BLSample_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Proposal_has_BLSample"/>
      <xsd:element name="Protein_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Protein"/>
      <xsd:element name="SafetyRequest_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="SafetyRequest"/>
      <xsd:element name="SafetyRequest_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="SafetyRequest_has_Parameter"/>
      <xsd:element name="Screening_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Screening"/>
      <xsd:element name="ScreeningInput_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="ScreeningInput"/>
      <xsd:element name="ScreeningOutput_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="ScreeningOutput"/>
      <xsd:element name="ScreeningOutputLattice_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="ScreeningOutputLattice"/>
      <xsd:element name="ScreeningStrategy_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="ScreeningStrategy"/>
      <xsd:element name="Session_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Session"/>
      <xsd:element name="Session_has_BLSample_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Session_has_BLSample"/>
      <xsd:element name="Session_has_Parameter_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Session_has_Parameter"/>
      <xsd:element name="Session_has_Person_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Session_has_Person"/>
      <xsd:element name="Shipping_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="Shipping"/>
      <xsd:element name="XmlDocument_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="XmlDocument"/>
      <xsd:element name="XmlSchema_object"
               minOccurs="0" 
               maxOccurs="unbounded" 
               type="XmlSchema"/>


    </xsd:sequence>
  </xsd:complexType>

</xsd:schema>