plugin/conf/xsd/mzML1.1.0.xsd

Code
Comments
Other
Rev Date Author Line
3251 04 May 09 fredrik 1 <?xml version="1.0" encoding="Windows-1252"?>
3251 04 May 09 fredrik 2 <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
3251 04 May 09 fredrik 3 <xs:schema xmlns:dx="http://psi.hupo.org/ms/mzml" 
3251 04 May 09 fredrik 4        xmlns:xs="http://www.w3.org/2001/XMLSchema"
3251 04 May 09 fredrik 5        targetNamespace="http://psi.hupo.org/ms/mzml" 
3251 04 May 09 fredrik 6            attributeFormDefault="unqualified" 
3251 04 May 09 fredrik 7        elementFormDefault="qualified" 
3251 04 May 09 fredrik 8        version="1.1.0">
3251 04 May 09 fredrik 9   <xs:complexType name="mzMLType">
3251 04 May 09 fredrik 10     <xs:annotation>
3251 04 May 09 fredrik 11       <xs:documentation>This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list).</xs:documentation>
3251 04 May 09 fredrik 12     </xs:annotation>
3251 04 May 09 fredrik 13     <xs:sequence>
3251 04 May 09 fredrik 14       <xs:element name="cvList" type="dx:CVListType" />
3251 04 May 09 fredrik 15       <xs:element name="fileDescription" type="dx:FileDescriptionType" />
3251 04 May 09 fredrik 16       <xs:element minOccurs="0" name="referenceableParamGroupList" type="dx:ReferenceableParamGroupListType" />
3251 04 May 09 fredrik 17       <xs:element minOccurs="0" name="sampleList" type="dx:SampleListType" />
3251 04 May 09 fredrik 18       <xs:element name="softwareList" type="dx:SoftwareListType" />
3251 04 May 09 fredrik 19       <xs:element minOccurs="0" name="scanSettingsList" type="dx:ScanSettingsListType" />
3251 04 May 09 fredrik 20       <xs:element name="instrumentConfigurationList" type="dx:InstrumentConfigurationListType" />
3251 04 May 09 fredrik 21       <xs:element name="dataProcessingList" type="dx:DataProcessingListType" />
3251 04 May 09 fredrik 22       <xs:element name="run" type="dx:RunType" />
3251 04 May 09 fredrik 23     </xs:sequence>
3251 04 May 09 fredrik 24     <xs:attribute name="accession" type="xs:string" use="optional">
3251 04 May 09 fredrik 25       <xs:annotation>
3251 04 May 09 fredrik 26         <xs:documentation>An optional accession number for the mzML document used for storage, e.g. in PRIDE.</xs:documentation>
3251 04 May 09 fredrik 27       </xs:annotation>
3251 04 May 09 fredrik 28     </xs:attribute>
3251 04 May 09 fredrik 29     <xs:attribute name="version" type="xs:string" use="required">
3251 04 May 09 fredrik 30       <xs:annotation>
3251 04 May 09 fredrik 31         <xs:documentation>The version of this mzML document.</xs:documentation>
3251 04 May 09 fredrik 32       </xs:annotation>
3251 04 May 09 fredrik 33     </xs:attribute>
3251 04 May 09 fredrik 34     <xs:attribute name="id" type="xs:string" use="optional">
3251 04 May 09 fredrik 35       <xs:annotation>
3251 04 May 09 fredrik 36         <xs:documentation>An optional id for the mzML document used for referencing from external files. It is recommended to use LSIDs when possible.</xs:documentation>
3251 04 May 09 fredrik 37       </xs:annotation>
3251 04 May 09 fredrik 38     </xs:attribute>
3251 04 May 09 fredrik 39   </xs:complexType>
3251 04 May 09 fredrik 40   <xs:complexType name="FileDescriptionType">
3251 04 May 09 fredrik 41     <xs:annotation>
3251 04 May 09 fredrik 42       <xs:documentation>Information pertaining to the entire mzML file (i.e. not specific to any part of the data set) is stored here.</xs:documentation>
3251 04 May 09 fredrik 43     </xs:annotation>
3251 04 May 09 fredrik 44     <xs:sequence>
3251 04 May 09 fredrik 45       <xs:element name="fileContent" type="dx:ParamGroupType">
3251 04 May 09 fredrik 46         <xs:annotation>
3251 04 May 09 fredrik 47           <xs:documentation>This summarizes the different types of spectra that can be expected in the file. This is expected to aid processing software in skipping files that do not contain appropriate spectrum types for it. It should also describe the nativeID format used in the file by referring to an appropriate CV term.</xs:documentation>
3251 04 May 09 fredrik 48         </xs:annotation>
3251 04 May 09 fredrik 49       </xs:element>
3251 04 May 09 fredrik 50       <xs:element minOccurs="0" name="sourceFileList" type="dx:SourceFileListType" />
3251 04 May 09 fredrik 51       <xs:element minOccurs="0" maxOccurs="unbounded" name="contact" type="dx:ParamGroupType" />
3251 04 May 09 fredrik 52     </xs:sequence>
3251 04 May 09 fredrik 53   </xs:complexType>
3251 04 May 09 fredrik 54   <xs:complexType name="SourceFileListType">
3251 04 May 09 fredrik 55     <xs:annotation>
3251 04 May 09 fredrik 56       <xs:documentation>List and descriptions of the source files this mzML document was generated or derived from</xs:documentation>
3251 04 May 09 fredrik 57     </xs:annotation>
3251 04 May 09 fredrik 58     <xs:sequence>
3251 04 May 09 fredrik 59       <xs:element minOccurs="1" maxOccurs="unbounded" name="sourceFile" type="dx:SourceFileType" />
3251 04 May 09 fredrik 60     </xs:sequence>
3251 04 May 09 fredrik 61     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 62       <xs:annotation>
3251 04 May 09 fredrik 63         <xs:documentation>Number of source files used in generating the instance document.</xs:documentation>
3251 04 May 09 fredrik 64       </xs:annotation>
3251 04 May 09 fredrik 65     </xs:attribute>
3251 04 May 09 fredrik 66   </xs:complexType>
3251 04 May 09 fredrik 67   <xs:complexType name="SourceFileType">
3251 04 May 09 fredrik 68     <xs:annotation>
3251 04 May 09 fredrik 69       <xs:documentation>Description of the source file, including location and type.</xs:documentation>
3251 04 May 09 fredrik 70     </xs:annotation>
3251 04 May 09 fredrik 71     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 72       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 73         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 74           <xs:annotation>
3251 04 May 09 fredrik 75             <xs:documentation>An identifier for this file.</xs:documentation>
3251 04 May 09 fredrik 76           </xs:annotation>
3251 04 May 09 fredrik 77         </xs:attribute>
3251 04 May 09 fredrik 78         <xs:attribute name="name" type="xs:string" use="required">
3251 04 May 09 fredrik 79           <xs:annotation>
3251 04 May 09 fredrik 80             <xs:documentation>Name of the source file, without reference to location (either URI or local path).</xs:documentation>
3251 04 May 09 fredrik 81           </xs:annotation>
3251 04 May 09 fredrik 82         </xs:attribute>
3251 04 May 09 fredrik 83         <xs:attribute name="location" type="xs:anyURI" use="required">
3251 04 May 09 fredrik 84           <xs:annotation>
3251 04 May 09 fredrik 85             <xs:documentation>URI-formatted location where the file was retrieved.</xs:documentation>
3251 04 May 09 fredrik 86           </xs:annotation>
3251 04 May 09 fredrik 87         </xs:attribute>
3251 04 May 09 fredrik 88       </xs:extension>
3251 04 May 09 fredrik 89     </xs:complexContent>
3251 04 May 09 fredrik 90   </xs:complexType>
3251 04 May 09 fredrik 91   <xs:complexType name="CVType">
3251 04 May 09 fredrik 92     <xs:annotation>
3251 04 May 09 fredrik 93       <xs:documentation>Information about an ontology or CV source and a short 'lookup' tag to refer to.</xs:documentation>
3251 04 May 09 fredrik 94     </xs:annotation>
3251 04 May 09 fredrik 95     <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 96       <xs:annotation>
3251 04 May 09 fredrik 97         <xs:documentation>The short label to be used as a reference tag with which to refer to this particular Controlled Vocabulary source description (e.g., from the cvLabel attribute, in CVParamType elements).</xs:documentation>
3251 04 May 09 fredrik 98       </xs:annotation>
3251 04 May 09 fredrik 99     </xs:attribute>
3251 04 May 09 fredrik 100     <xs:attribute name="fullName" type="xs:string" use="required">
3251 04 May 09 fredrik 101       <xs:annotation>
3251 04 May 09 fredrik 102         <xs:documentation>The usual name for the resource (e.g. The PSI-MS Controlled Vocabulary).</xs:documentation>
3251 04 May 09 fredrik 103       </xs:annotation>
3251 04 May 09 fredrik 104     </xs:attribute>
3251 04 May 09 fredrik 105     <xs:attribute name="version" type="xs:string" use="optional">
3251 04 May 09 fredrik 106       <xs:annotation>
3251 04 May 09 fredrik 107         <xs:documentation>The version of the CV from which the referred-to terms are drawn.</xs:documentation>
3251 04 May 09 fredrik 108       </xs:annotation>
3251 04 May 09 fredrik 109     </xs:attribute>
3251 04 May 09 fredrik 110     <xs:attribute name="URI" type="xs:anyURI" use="required">
3251 04 May 09 fredrik 111       <xs:annotation>
3251 04 May 09 fredrik 112         <xs:documentation>The URI for the resource.</xs:documentation>
3251 04 May 09 fredrik 113       </xs:annotation>
3251 04 May 09 fredrik 114     </xs:attribute>
3251 04 May 09 fredrik 115   </xs:complexType>
3251 04 May 09 fredrik 116   <xs:complexType name="CVListType">
3251 04 May 09 fredrik 117     <xs:annotation>
3251 04 May 09 fredrik 118       <xs:documentation>Container for one or more controlled vocabulary definitions.</xs:documentation>
3251 04 May 09 fredrik 119     </xs:annotation>
3251 04 May 09 fredrik 120     <xs:sequence>
3251 04 May 09 fredrik 121       <xs:element maxOccurs="unbounded" name="cv" type="dx:CVType" />
3251 04 May 09 fredrik 122     </xs:sequence>
3251 04 May 09 fredrik 123     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 124       <xs:annotation>
3251 04 May 09 fredrik 125         <xs:documentation>The number of CV definitionsin this mzML file.</xs:documentation>
3251 04 May 09 fredrik 126       </xs:annotation>
3251 04 May 09 fredrik 127     </xs:attribute>
3251 04 May 09 fredrik 128   </xs:complexType>
3251 04 May 09 fredrik 129   <xs:complexType name="ReferenceableParamGroupListType">
3251 04 May 09 fredrik 130     <xs:annotation>
3251 04 May 09 fredrik 131       <xs:documentation>Container for a list of referenceableParamGroups</xs:documentation>
3251 04 May 09 fredrik 132     </xs:annotation>
3251 04 May 09 fredrik 133     <xs:sequence>
3251 04 May 09 fredrik 134       <xs:element maxOccurs="unbounded" name="referenceableParamGroup" type="dx:ReferenceableParamGroupType" />
3251 04 May 09 fredrik 135     </xs:sequence>
3251 04 May 09 fredrik 136     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 137       <xs:annotation>
3251 04 May 09 fredrik 138         <xs:documentation>The number of ParamGroups defined in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 139       </xs:annotation>
3251 04 May 09 fredrik 140     </xs:attribute>
3251 04 May 09 fredrik 141   </xs:complexType>
3251 04 May 09 fredrik 142   <xs:complexType name="ParamGroupType">
3251 04 May 09 fredrik 143     <xs:annotation>
3251 04 May 09 fredrik 144       <xs:documentation>Structure allowing the use of a controlled (cvParam) or uncontrolled vocabulary (userParam), or a reference to a predefined set of these in this mzML file (paramGroupRef).</xs:documentation>
3251 04 May 09 fredrik 145     </xs:annotation>
3251 04 May 09 fredrik 146     <xs:sequence>
3251 04 May 09 fredrik 147       <xs:element minOccurs="0" maxOccurs="unbounded" name="referenceableParamGroupRef" type="dx:ReferenceableParamGroupRefType" />
3251 04 May 09 fredrik 148       <xs:element minOccurs="0" maxOccurs="unbounded" name="cvParam" type="dx:CVParamType" />
3251 04 May 09 fredrik 149       <xs:element minOccurs="0" maxOccurs="unbounded" name="userParam" type="dx:UserParamType" />
3251 04 May 09 fredrik 150     </xs:sequence>
3251 04 May 09 fredrik 151   </xs:complexType>
3251 04 May 09 fredrik 152   <xs:complexType name="ReferenceableParamGroupType">
3251 04 May 09 fredrik 153     <xs:annotation>
3251 04 May 09 fredrik 154       <xs:documentation>A collection of CVParam and UserParam elements that can be referenced from elsewhere in this mzML document by using the 'paramGroupRef' element in that location to reference the 'id' attribute value of this element.</xs:documentation>
3251 04 May 09 fredrik 155     </xs:annotation>
3251 04 May 09 fredrik 156     <xs:sequence>
3251 04 May 09 fredrik 157       <xs:element minOccurs="0" maxOccurs="unbounded" name="cvParam" type="dx:CVParamType" />
3251 04 May 09 fredrik 158       <xs:element minOccurs="0" maxOccurs="unbounded" name="userParam" type="dx:UserParamType" />
3251 04 May 09 fredrik 159     </xs:sequence>
3251 04 May 09 fredrik 160     <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 161       <xs:annotation>
3251 04 May 09 fredrik 162         <xs:documentation>The identifier with which to reference this ReferenceableParamGroup.</xs:documentation>
3251 04 May 09 fredrik 163       </xs:annotation>
3251 04 May 09 fredrik 164     </xs:attribute>
3251 04 May 09 fredrik 165   </xs:complexType>
3251 04 May 09 fredrik 166   <xs:complexType name="CVParamType">
3251 04 May 09 fredrik 167     <xs:annotation>
3251 04 May 09 fredrik 168       <xs:documentation>This element holds additional data or annotation. Only controlled values are allowed here.</xs:documentation>
3251 04 May 09 fredrik 169     </xs:annotation>
3251 04 May 09 fredrik 170     <xs:attribute name="cvRef" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 171       <xs:annotation>
3251 04 May 09 fredrik 172         <xs:documentation>A reference to the CV 'id' attribute as defined in the cvList in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 173       </xs:annotation>
3251 04 May 09 fredrik 174     </xs:attribute>
3251 04 May 09 fredrik 175     <xs:attribute name="accession" type="xs:string" use="required">
3251 04 May 09 fredrik 176       <xs:annotation>
3251 04 May 09 fredrik 177         <xs:documentation>The accession number of the referred-to term in the named resource (e.g.: MS:000012).</xs:documentation>
3251 04 May 09 fredrik 178       </xs:annotation>
3251 04 May 09 fredrik 179     </xs:attribute>
3251 04 May 09 fredrik 180     <xs:attribute name="value" type="xs:string" use="optional">
3251 04 May 09 fredrik 181       <xs:annotation>
3251 04 May 09 fredrik 182         <xs:documentation>The value for the parameter; may be absent if not appropriate, or a numeric or symbolic value, or may itself be CV (legal values for a parameter should be enumerated and defined in the ontology).</xs:documentation>
3251 04 May 09 fredrik 183       </xs:annotation>
3251 04 May 09 fredrik 184     </xs:attribute>
3251 04 May 09 fredrik 185     <xs:attribute name="name" type="xs:string" use="required">
3251 04 May 09 fredrik 186       <xs:annotation>
3251 04 May 09 fredrik 187         <xs:documentation>The actual name for the parameter, from the referred-to controlled vocabulary. This should be the preferred name associated with the specified accession number.</xs:documentation>
3251 04 May 09 fredrik 188       </xs:annotation>
3251 04 May 09 fredrik 189     </xs:attribute>
3251 04 May 09 fredrik 190     <xs:attribute name="unitAccession" type="xs:string" use="optional">
3251 04 May 09 fredrik 191       <xs:annotation>
3251 04 May 09 fredrik 192         <xs:documentation>An optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt').</xs:documentation>
3251 04 May 09 fredrik 193       </xs:annotation>
3251 04 May 09 fredrik 194     </xs:attribute>
3251 04 May 09 fredrik 195     <xs:attribute name="unitName" type="xs:string" use="optional">
3251 04 May 09 fredrik 196       <xs:annotation>
3251 04 May 09 fredrik 197         <xs:documentation>An optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ).</xs:documentation>
3251 04 May 09 fredrik 198       </xs:annotation>
3251 04 May 09 fredrik 199     </xs:attribute>
3251 04 May 09 fredrik 200     <xs:attribute name="unitCvRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 201       <xs:annotation>
3251 04 May 09 fredrik 202         <xs:documentation>If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 203       </xs:annotation>
3251 04 May 09 fredrik 204     </xs:attribute>
3251 04 May 09 fredrik 205   </xs:complexType>
3251 04 May 09 fredrik 206   <xs:complexType name="UserParamType">
3251 04 May 09 fredrik 207     <xs:annotation>
3251 04 May 09 fredrik 208       <xs:documentation>Uncontrolled user parameters (essentially allowing free text). Before using these, one should verify whether there is an appropriate CV term available, and if so, use the CV term instead</xs:documentation>
3251 04 May 09 fredrik 209     </xs:annotation>
3251 04 May 09 fredrik 210     <xs:attribute name="name" type="xs:string" use="required">
3251 04 May 09 fredrik 211       <xs:annotation>
3251 04 May 09 fredrik 212         <xs:documentation>The name for the parameter.</xs:documentation>
3251 04 May 09 fredrik 213       </xs:annotation>
3251 04 May 09 fredrik 214     </xs:attribute>
3251 04 May 09 fredrik 215     <xs:attribute name="type" type="xs:string" use="optional">
3251 04 May 09 fredrik 216       <xs:annotation>
3251 04 May 09 fredrik 217         <xs:documentation>The datatype of the parameter, where appropriate (e.g.: xsd:float).</xs:documentation>
3251 04 May 09 fredrik 218       </xs:annotation>
3251 04 May 09 fredrik 219     </xs:attribute>
3251 04 May 09 fredrik 220     <xs:attribute name="value" type="xs:string" use="optional">
3251 04 May 09 fredrik 221       <xs:annotation>
3251 04 May 09 fredrik 222         <xs:documentation>The value for the parameter, where appropriate.</xs:documentation>
3251 04 May 09 fredrik 223       </xs:annotation>
3251 04 May 09 fredrik 224     </xs:attribute>
3251 04 May 09 fredrik 225     <xs:attribute name="unitAccession" type="xs:string" use="optional">
3251 04 May 09 fredrik 226       <xs:annotation>
3251 04 May 09 fredrik 227         <xs:documentation>An optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt').</xs:documentation>
3251 04 May 09 fredrik 228       </xs:annotation>
3251 04 May 09 fredrik 229     </xs:attribute>
3251 04 May 09 fredrik 230     <xs:attribute name="unitName" type="xs:string" use="optional">
3251 04 May 09 fredrik 231       <xs:annotation>
3251 04 May 09 fredrik 232         <xs:documentation>An optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ).</xs:documentation>
3251 04 May 09 fredrik 233       </xs:annotation>
3251 04 May 09 fredrik 234     </xs:attribute>
3251 04 May 09 fredrik 235     <xs:attribute name="unitCvRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 236       <xs:annotation>
3251 04 May 09 fredrik 237         <xs:documentation>If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 238       </xs:annotation>
3251 04 May 09 fredrik 239     </xs:attribute>
3251 04 May 09 fredrik 240   </xs:complexType>
3251 04 May 09 fredrik 241   <xs:complexType name="ReferenceableParamGroupRefType">
3251 04 May 09 fredrik 242     <xs:annotation>
3251 04 May 09 fredrik 243       <xs:documentation>A reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.</xs:documentation>
3251 04 May 09 fredrik 244     </xs:annotation>
3251 04 May 09 fredrik 245     <xs:attribute name="ref" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 246       <xs:annotation>
3251 04 May 09 fredrik 247         <xs:documentation>Reference to the id attribute in a referenceableParamGroup.</xs:documentation>
3251 04 May 09 fredrik 248       </xs:annotation>
3251 04 May 09 fredrik 249     </xs:attribute>
3251 04 May 09 fredrik 250   </xs:complexType>
3251 04 May 09 fredrik 251   <xs:complexType name="SampleListType">
3251 04 May 09 fredrik 252     <xs:annotation>
3251 04 May 09 fredrik 253       <xs:documentation>List and descriptions of samples.</xs:documentation>
3251 04 May 09 fredrik 254     </xs:annotation>
3251 04 May 09 fredrik 255     <xs:sequence>
3251 04 May 09 fredrik 256       <xs:element maxOccurs="unbounded" name="sample" type="dx:SampleType" />
3251 04 May 09 fredrik 257     </xs:sequence>
3251 04 May 09 fredrik 258     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 259       <xs:annotation>
3251 04 May 09 fredrik 260         <xs:documentation>The number of Samples defined in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 261       </xs:annotation>
3251 04 May 09 fredrik 262     </xs:attribute>
3251 04 May 09 fredrik 263   </xs:complexType>
3251 04 May 09 fredrik 264   <xs:complexType name="SampleType">
3251 04 May 09 fredrik 265     <xs:annotation>
3251 04 May 09 fredrik 266       <xs:documentation>Expansible description of the sample used to generate the dataset, named in sampleName.</xs:documentation>
3251 04 May 09 fredrik 267     </xs:annotation>
3251 04 May 09 fredrik 268     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 269       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 270         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 271           <xs:annotation>
3251 04 May 09 fredrik 272             <xs:documentation>A unique identifier across the samples with which to reference this sample description.</xs:documentation>
3251 04 May 09 fredrik 273           </xs:annotation>
3251 04 May 09 fredrik 274         </xs:attribute>
3251 04 May 09 fredrik 275         <xs:attribute name="name" type="xs:string" use="optional">
3251 04 May 09 fredrik 276           <xs:annotation>
3251 04 May 09 fredrik 277             <xs:documentation>An optional name for the sample description, mostly intended as a quick mnemonic.</xs:documentation>
3251 04 May 09 fredrik 278           </xs:annotation>
3251 04 May 09 fredrik 279         </xs:attribute>
3251 04 May 09 fredrik 280       </xs:extension>
3251 04 May 09 fredrik 281     </xs:complexContent>
3251 04 May 09 fredrik 282   </xs:complexType>
3251 04 May 09 fredrik 283   <xs:complexType name="InstrumentConfigurationListType">
3251 04 May 09 fredrik 284     <xs:annotation>
3251 04 May 09 fredrik 285       <xs:documentation>List and descriptions of instrument configurations. At least one instrument configuration must be specified, even if it is only to specify that the instrument is unknown. In that case, the "instrument model" term is used to indicate the unknown instrument in the instrumentConfiguration.</xs:documentation>
3251 04 May 09 fredrik 286     </xs:annotation>
3251 04 May 09 fredrik 287     <xs:sequence>
3251 04 May 09 fredrik 288     <xs:element name="instrumentConfiguration" type="dx:InstrumentConfigurationType" maxOccurs="unbounded"/>
3251 04 May 09 fredrik 289     </xs:sequence>
3251 04 May 09 fredrik 290     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 291       <xs:annotation>
3251 04 May 09 fredrik 292         <xs:documentation>The number of instrument configurations present in this list.</xs:documentation>
3251 04 May 09 fredrik 293       </xs:annotation>
3251 04 May 09 fredrik 294     </xs:attribute>
3251 04 May 09 fredrik 295   </xs:complexType>
3251 04 May 09 fredrik 296   <xs:complexType name="ComponentType">
3251 04 May 09 fredrik 297     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 298       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 299         <xs:attribute name="order" type="xs:int" use="required">
3251 04 May 09 fredrik 300           <xs:annotation>
3251 04 May 09 fredrik 301             <xs:documentation>This attribute must be used to indicate the order in which the components are encountered from source to detector (e.g., in a Q-TOF, the quadrupole would have the lower order number, and the TOF the higher number of the two).</xs:documentation>
3251 04 May 09 fredrik 302           </xs:annotation>
3251 04 May 09 fredrik 303         </xs:attribute>
3251 04 May 09 fredrik 304       </xs:extension>
3251 04 May 09 fredrik 305     </xs:complexContent>
3251 04 May 09 fredrik 306   </xs:complexType>
3251 04 May 09 fredrik 307   <xs:complexType name="SourceComponentType" mixed="false">
3251 04 May 09 fredrik 308     <xs:annotation>
3251 04 May 09 fredrik 309       <xs:documentation>This element must be used to describe a Source Component Type. This is a PRIDE3-specific
3251 04 May 09 fredrik 310                 modification of the core MzML schema that does not have any impact on the base schema validation.
3251 04 May 09 fredrik 311             </xs:documentation>
3251 04 May 09 fredrik 312     </xs:annotation>
3251 04 May 09 fredrik 313     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 314       <xs:extension base="dx:ComponentType"/>
3251 04 May 09 fredrik 315     </xs:complexContent>
3251 04 May 09 fredrik 316   </xs:complexType>
3251 04 May 09 fredrik 317   <xs:complexType name="DetectorComponentType" mixed="false">
3251 04 May 09 fredrik 318     <xs:annotation>
3251 04 May 09 fredrik 319       <xs:documentation>This element must be used to describe a Detector Component Type. This is a PRIDE3-specific
3251 04 May 09 fredrik 320                 modification of the core MzML schema that does not have any impact on the base schema validation.
3251 04 May 09 fredrik 321             </xs:documentation>
3251 04 May 09 fredrik 322     </xs:annotation>
3251 04 May 09 fredrik 323     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 324       <xs:extension base="dx:ComponentType"/>
3251 04 May 09 fredrik 325     </xs:complexContent>
3251 04 May 09 fredrik 326   </xs:complexType>
3251 04 May 09 fredrik 327   <xs:complexType name="AnalyzerComponentType" mixed="false">
3251 04 May 09 fredrik 328     <xs:annotation>
3251 04 May 09 fredrik 329       <xs:documentation>This element must be used to describe an Analyzer Component Type. This is a
3251 04 May 09 fredrik 330                 PRIDE3-specific
3251 04 May 09 fredrik 331                 modification of the core MzML schema that does not have any impact on the base schema validation.
3251 04 May 09 fredrik 332             </xs:documentation>
3251 04 May 09 fredrik 333     </xs:annotation>
3251 04 May 09 fredrik 334     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 335       <xs:extension base="dx:ComponentType"/>
3251 04 May 09 fredrik 336     </xs:complexContent>
3251 04 May 09 fredrik 337   </xs:complexType>
3251 04 May 09 fredrik 338   <xs:complexType name="ComponentListType">
3251 04 May 09 fredrik 339     <xs:annotation>
3251 04 May 09 fredrik 340       <xs:documentation>List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified.</xs:documentation>
3251 04 May 09 fredrik 341     </xs:annotation>
3251 04 May 09 fredrik 342     <xs:sequence>
3251 04 May 09 fredrik 343       <xs:element maxOccurs="unbounded" name="source" type="dx:SourceComponentType">
3251 04 May 09 fredrik 344         <xs:annotation>
3251 04 May 09 fredrik 345           <xs:documentation>A source component.</xs:documentation>
3251 04 May 09 fredrik 346         </xs:annotation>
3251 04 May 09 fredrik 347       </xs:element>
3251 04 May 09 fredrik 348       <xs:element maxOccurs="unbounded" name="analyzer" type="dx:AnalyzerComponentType">
3251 04 May 09 fredrik 349         <xs:annotation>
3251 04 May 09 fredrik 350           <xs:documentation>A mass analyzer (or mass filter) component.</xs:documentation>
3251 04 May 09 fredrik 351         </xs:annotation>
3251 04 May 09 fredrik 352       </xs:element>
3251 04 May 09 fredrik 353       <xs:element maxOccurs="unbounded" name="detector" type="dx:DetectorComponentType">
3251 04 May 09 fredrik 354         <xs:annotation>
3251 04 May 09 fredrik 355           <xs:documentation>A detector component.</xs:documentation>
3251 04 May 09 fredrik 356         </xs:annotation>
3251 04 May 09 fredrik 357       </xs:element>
3251 04 May 09 fredrik 358     </xs:sequence>
3251 04 May 09 fredrik 359     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 360       <xs:annotation>
3251 04 May 09 fredrik 361         <xs:documentation>The number of components in this list.</xs:documentation>
3251 04 May 09 fredrik 362       </xs:annotation>
3251 04 May 09 fredrik 363     </xs:attribute>
3251 04 May 09 fredrik 364   </xs:complexType>
3251 04 May 09 fredrik 365   <xs:complexType name="InstrumentConfigurationType">
3251 04 May 09 fredrik 366     <xs:annotation>
3251 04 May 09 fredrik 367       <xs:documentation>Description of a particular hardware configuration of a mass spectrometer. Each configuration must have one (and only one) of the three different components used for an analysis. For hybrid instruments, such as an LTQ-FT, there must be one configuration for each permutation of the components that is used in the document. For software configuration, use a ReferenceableParamGroup element.</xs:documentation>
3251 04 May 09 fredrik 368     </xs:annotation>
3251 04 May 09 fredrik 369     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 370       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 371         <xs:sequence>
3251 04 May 09 fredrik 372           <xs:element minOccurs="0" name="componentList" type="dx:ComponentListType" />
3251 04 May 09 fredrik 373           <xs:element minOccurs="0" name="softwareRef" type="dx:SoftwareRefType" />
3251 04 May 09 fredrik 374         </xs:sequence>
3251 04 May 09 fredrik 375         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 376           <xs:annotation>
3251 04 May 09 fredrik 377             <xs:documentation>An identifier for this instrument configuration.</xs:documentation>
3251 04 May 09 fredrik 378           </xs:annotation>
3251 04 May 09 fredrik 379         </xs:attribute>
3251 04 May 09 fredrik 380         <xs:attribute name="scanSettingsRef" type="xs:IDREF" />
3251 04 May 09 fredrik 381       </xs:extension>
3251 04 May 09 fredrik 382     </xs:complexContent>
3251 04 May 09 fredrik 383   </xs:complexType>
3251 04 May 09 fredrik 384   <xs:complexType name="SoftwareRefType">
3251 04 May 09 fredrik 385     <xs:annotation>
3251 04 May 09 fredrik 386       <xs:documentation>Reference to a previously defined software element</xs:documentation>
3251 04 May 09 fredrik 387     </xs:annotation>
3251 04 May 09 fredrik 388     <xs:attribute name="ref" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 389       <xs:annotation>
3251 04 May 09 fredrik 390         <xs:documentation>This attribute must be used to reference the 'id' attribute of a software element.</xs:documentation>
3251 04 May 09 fredrik 391       </xs:annotation>
3251 04 May 09 fredrik 392     </xs:attribute>
3251 04 May 09 fredrik 393   </xs:complexType>
3251 04 May 09 fredrik 394   <xs:complexType name="SoftwareListType">
3251 04 May 09 fredrik 395     <xs:annotation>
3251 04 May 09 fredrik 396       <xs:documentation>List and descriptions of software used to acquire and/or process the data in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 397     </xs:annotation>
3251 04 May 09 fredrik 398     <xs:sequence>
3251 04 May 09 fredrik 399       <xs:element maxOccurs="unbounded" name="software" type="dx:SoftwareType">
3251 04 May 09 fredrik 400         <xs:annotation>
3251 04 May 09 fredrik 401           <xs:documentation>A piece of software.</xs:documentation>
3251 04 May 09 fredrik 402         </xs:annotation>
3251 04 May 09 fredrik 403       </xs:element>
3251 04 May 09 fredrik 404     </xs:sequence>
3251 04 May 09 fredrik 405     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 406       <xs:annotation>
3251 04 May 09 fredrik 407         <xs:documentation>The number of softwares defined in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 408       </xs:annotation>
3251 04 May 09 fredrik 409     </xs:attribute>
3251 04 May 09 fredrik 410   </xs:complexType>
3251 04 May 09 fredrik 411   <xs:complexType name="SoftwareType">
3251 04 May 09 fredrik 412     <xs:annotation>
3251 04 May 09 fredrik 413       <xs:documentation>Software information.</xs:documentation>
3251 04 May 09 fredrik 414     </xs:annotation>
3251 04 May 09 fredrik 415     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 416       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 417         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 418           <xs:annotation>
3251 04 May 09 fredrik 419             <xs:documentation>An identifier for this software that is unique across all SoftwareTypes.</xs:documentation>
3251 04 May 09 fredrik 420           </xs:annotation>
3251 04 May 09 fredrik 421         </xs:attribute>
3251 04 May 09 fredrik 422         <xs:attribute name="version" type="xs:string" use="required">
3251 04 May 09 fredrik 423           <xs:annotation>
3251 04 May 09 fredrik 424             <xs:documentation>The software version.</xs:documentation>
3251 04 May 09 fredrik 425           </xs:annotation>
3251 04 May 09 fredrik 426         </xs:attribute>
3251 04 May 09 fredrik 427       </xs:extension>
3251 04 May 09 fredrik 428     </xs:complexContent>
3251 04 May 09 fredrik 429   </xs:complexType>
3251 04 May 09 fredrik 430   <xs:complexType name="DataProcessingListType">
3251 04 May 09 fredrik 431     <xs:annotation>
3251 04 May 09 fredrik 432       <xs:documentation>List and descriptions of data processing applied to this data.</xs:documentation>
3251 04 May 09 fredrik 433     </xs:annotation>
3251 04 May 09 fredrik 434     <xs:sequence>
3251 04 May 09 fredrik 435       <xs:element maxOccurs="unbounded" name="dataProcessing" type="dx:DataProcessingType" />
3251 04 May 09 fredrik 436     </xs:sequence>
3251 04 May 09 fredrik 437     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 438       <xs:annotation>
3251 04 May 09 fredrik 439         <xs:documentation>The number of DataProcessingTypes in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 440       </xs:annotation>
3251 04 May 09 fredrik 441     </xs:attribute>
3251 04 May 09 fredrik 442   </xs:complexType>
3251 04 May 09 fredrik 443   <xs:complexType name="DataProcessingType">
3251 04 May 09 fredrik 444     <xs:annotation>
3251 04 May 09 fredrik 445       <xs:documentation>Description of the way in which a particular software was used.</xs:documentation>
3251 04 May 09 fredrik 446     </xs:annotation>
3251 04 May 09 fredrik 447     <xs:sequence>
3251 04 May 09 fredrik 448       <xs:element maxOccurs="unbounded" name="processingMethod" type="dx:ProcessingMethodType">
3251 04 May 09 fredrik 449         <xs:annotation>
3251 04 May 09 fredrik 450           <xs:documentation>Description of the default peak processing method. This element describes the base method used in the generation of a particular mzML file. Variable methods should be described in the appropriate acquisition section - if no acquisition-specific details are found, then this information serves as the default.</xs:documentation>
3251 04 May 09 fredrik 451         </xs:annotation>
3251 04 May 09 fredrik 452       </xs:element>
3251 04 May 09 fredrik 453     </xs:sequence>
3251 04 May 09 fredrik 454     <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 455       <xs:annotation>
3251 04 May 09 fredrik 456         <xs:documentation>A unique identifier for this data processing that is unique across all DataProcessingTypes.</xs:documentation>
3251 04 May 09 fredrik 457       </xs:annotation>
3251 04 May 09 fredrik 458     </xs:attribute>
3251 04 May 09 fredrik 459   </xs:complexType>
3251 04 May 09 fredrik 460   <xs:complexType name="ProcessingMethodType">
3251 04 May 09 fredrik 461     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 462       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 463         <xs:attribute name="order" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 464           <xs:annotation>
3251 04 May 09 fredrik 465             <xs:documentation>This attributes allows a series of consecutive steps to be placed in the correct order.</xs:documentation>
3251 04 May 09 fredrik 466           </xs:annotation>
3251 04 May 09 fredrik 467         </xs:attribute>
3251 04 May 09 fredrik 468         <xs:attribute name="softwareRef" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 469           <xs:annotation>
3251 04 May 09 fredrik 470             <xs:documentation>This attribute must reference the 'id' of the appropriate SoftwareType.</xs:documentation>
3251 04 May 09 fredrik 471           </xs:annotation>
3251 04 May 09 fredrik 472         </xs:attribute>
3251 04 May 09 fredrik 473       </xs:extension>
3251 04 May 09 fredrik 474     </xs:complexContent>
3251 04 May 09 fredrik 475   </xs:complexType>
3251 04 May 09 fredrik 476   <xs:complexType name="ScanSettingsListType">
3251 04 May 09 fredrik 477     <xs:annotation>
3251 04 May 09 fredrik 478       <xs:documentation>List with the descriptions of the acquisition settings applied prior to the start of data acquisition.</xs:documentation>
3251 04 May 09 fredrik 479     </xs:annotation>
3251 04 May 09 fredrik 480     <xs:sequence>
3251 04 May 09 fredrik 481       <xs:element maxOccurs="unbounded" name="scanSettings" type="dx:ScanSettingsType" />
3251 04 May 09 fredrik 482     </xs:sequence>
3251 04 May 09 fredrik 483     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 484       <xs:annotation>
3251 04 May 09 fredrik 485         <xs:documentation>The number of AcquisitionType elements in this list.</xs:documentation>
3251 04 May 09 fredrik 486       </xs:annotation>
3251 04 May 09 fredrik 487     </xs:attribute>
3251 04 May 09 fredrik 488   </xs:complexType>
3251 04 May 09 fredrik 489   <xs:complexType name="ScanSettingsType">
3251 04 May 09 fredrik 490     <xs:annotation>
3251 04 May 09 fredrik 491       <xs:documentation>Description of the acquisition settings of the instrument prior to the start of the run.</xs:documentation>
3251 04 May 09 fredrik 492     </xs:annotation>
3251 04 May 09 fredrik 493     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 494       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 495         <xs:sequence>
3251 04 May 09 fredrik 496           <xs:element minOccurs="0" maxOccurs="1" name="sourceFileRefList" type="dx:SourceFileRefListType">
3251 04 May 09 fredrik 497             <xs:annotation>
3251 04 May 09 fredrik 498               <xs:documentation>List with the source files containing the acquisition settings.</xs:documentation>
3251 04 May 09 fredrik 499             </xs:annotation>
3251 04 May 09 fredrik 500           </xs:element>
3251 04 May 09 fredrik 501           <xs:element minOccurs="0" maxOccurs="1" name="targetList" type="dx:TargetListType">
3251 04 May 09 fredrik 502             <xs:annotation>
3251 04 May 09 fredrik 503               <xs:documentation>Target list (or 'inclusion list') configured prior to the run.</xs:documentation>
3251 04 May 09 fredrik 504             </xs:annotation>
3251 04 May 09 fredrik 505           </xs:element>
3251 04 May 09 fredrik 506         </xs:sequence>
3251 04 May 09 fredrik 507         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 508           <xs:annotation>
3251 04 May 09 fredrik 509             <xs:documentation>A unique identifier for this acquisition setting.</xs:documentation>
3251 04 May 09 fredrik 510           </xs:annotation>
3251 04 May 09 fredrik 511         </xs:attribute>
3251 04 May 09 fredrik 512       </xs:extension>
3251 04 May 09 fredrik 513     </xs:complexContent>
3251 04 May 09 fredrik 514   </xs:complexType>
3251 04 May 09 fredrik 515   <xs:complexType name="TargetListType">
3251 04 May 09 fredrik 516     <xs:annotation>
3251 04 May 09 fredrik 517       <xs:documentation>Target list (or 'inclusion list') configured prior to the run.</xs:documentation>
3251 04 May 09 fredrik 518     </xs:annotation>
3251 04 May 09 fredrik 519     <xs:sequence>
3251 04 May 09 fredrik 520       <xs:element minOccurs="1" maxOccurs="unbounded" name="target" type="dx:ParamGroupType" />
3251 04 May 09 fredrik 521     </xs:sequence>
3251 04 May 09 fredrik 522     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 523       <xs:annotation>
3251 04 May 09 fredrik 524         <xs:documentation>The number of TargetType elements in this list.</xs:documentation>
3251 04 May 09 fredrik 525       </xs:annotation>
3251 04 May 09 fredrik 526     </xs:attribute>
3251 04 May 09 fredrik 527   </xs:complexType>
3251 04 May 09 fredrik 528   <xs:complexType name="RunType">
3251 04 May 09 fredrik 529     <xs:annotation>
3251 04 May 09 fredrik 530       <xs:documentation>A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument.</xs:documentation>
3251 04 May 09 fredrik 531     </xs:annotation>
3251 04 May 09 fredrik 532     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 533       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 534         <xs:sequence>
3251 04 May 09 fredrik 535           <xs:element name="spectrumList" type="dx:SpectrumListType">
3251 04 May 09 fredrik 536             <xs:annotation>
3251 04 May 09 fredrik 537               <xs:documentation>All mass spectra and the acquisitions underlying them are described and attached here. Subsidiary data arrays are also both described and attached here.</xs:documentation>
3251 04 May 09 fredrik 538             </xs:annotation>
3251 04 May 09 fredrik 539           </xs:element>
3251 04 May 09 fredrik 540           <xs:element minOccurs="0" maxOccurs="1" name="chromatogramList" type="dx:ChromatogramListType">
3251 04 May 09 fredrik 541             <xs:annotation>
3251 04 May 09 fredrik 542               <xs:documentation>All chromatograms for this run.</xs:documentation>
3251 04 May 09 fredrik 543             </xs:annotation>
3251 04 May 09 fredrik 544           </xs:element>
3251 04 May 09 fredrik 545         </xs:sequence>
3251 04 May 09 fredrik 546         <xs:attribute name="id" type="xs:ID" use="required">
3251 04 May 09 fredrik 547           <xs:annotation>
3251 04 May 09 fredrik 548             <xs:documentation>A unique identifier for this run.</xs:documentation>
3251 04 May 09 fredrik 549           </xs:annotation>
3251 04 May 09 fredrik 550         </xs:attribute>
3251 04 May 09 fredrik 551         <xs:attribute name="defaultInstrumentConfigurationRef" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 552           <xs:annotation>
3251 04 May 09 fredrik 553             <xs:documentation>This attribute must reference the 'id' of the default instrument configuration. If a scan does not reference an instrument configuration, it implicitly refers to this configuration.</xs:documentation>
3251 04 May 09 fredrik 554           </xs:annotation>
3251 04 May 09 fredrik 555         </xs:attribute>
3251 04 May 09 fredrik 556         <xs:attribute name="defaultSourceFileRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 557           <xs:annotation>
3251 04 May 09 fredrik 558             <xs:documentation>This attribute can optionally reference the 'id' of the default source file. If a spectrum or scan does not reference a source file and this attribute is set, then it implicitly refers to this source file.</xs:documentation>
3251 04 May 09 fredrik 559           </xs:annotation>
3251 04 May 09 fredrik 560         </xs:attribute>
3251 04 May 09 fredrik 561         <xs:attribute name="sampleRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 562           <xs:annotation>
3251 04 May 09 fredrik 563             <xs:documentation>This attribute must reference the 'id' of the appropriate sample.</xs:documentation>
3251 04 May 09 fredrik 564           </xs:annotation>
3251 04 May 09 fredrik 565         </xs:attribute>
3251 04 May 09 fredrik 566         <xs:attribute name="startTimeStamp" type="xs:dateTime" use="optional">
3251 04 May 09 fredrik 567           <xs:annotation>
3251 04 May 09 fredrik 568             <xs:documentation>The optional start timestamp of the run, in UT.</xs:documentation>
3251 04 May 09 fredrik 569           </xs:annotation>
3251 04 May 09 fredrik 570         </xs:attribute>
3251 04 May 09 fredrik 571       </xs:extension>
3251 04 May 09 fredrik 572     </xs:complexContent>
3251 04 May 09 fredrik 573   </xs:complexType>
3251 04 May 09 fredrik 574   <xs:complexType name="SourceFileRefType">
3251 04 May 09 fredrik 575     <xs:attribute name="ref" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 576       <xs:annotation>
3251 04 May 09 fredrik 577         <xs:documentation>This attribute must reference the 'id' of the appropriate sourceFile.</xs:documentation>
3251 04 May 09 fredrik 578       </xs:annotation>
3251 04 May 09 fredrik 579     </xs:attribute>
3251 04 May 09 fredrik 580   </xs:complexType>
3251 04 May 09 fredrik 581   <xs:complexType name="SourceFileRefListType">
3251 04 May 09 fredrik 582     <xs:sequence>
3251 04 May 09 fredrik 583       <xs:element minOccurs="0" maxOccurs="unbounded" name="sourceFileRef" type="dx:SourceFileRefType">
3251 04 May 09 fredrik 584         <xs:annotation>
3251 04 May 09 fredrik 585           <xs:documentation>Reference to a previously defined sourceFile.</xs:documentation>
3251 04 May 09 fredrik 586         </xs:annotation>
3251 04 May 09 fredrik 587       </xs:element>
3251 04 May 09 fredrik 588     </xs:sequence>
3251 04 May 09 fredrik 589     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 590       <xs:annotation>
3251 04 May 09 fredrik 591         <xs:documentation>This number of source files referenced in this list.</xs:documentation>
3251 04 May 09 fredrik 592       </xs:annotation>
3251 04 May 09 fredrik 593     </xs:attribute>
3251 04 May 09 fredrik 594   </xs:complexType>
3251 04 May 09 fredrik 595   <xs:complexType name="SpectrumListType">
3251 04 May 09 fredrik 596     <xs:annotation>
3251 04 May 09 fredrik 597       <xs:documentation>List and descriptions of spectra.</xs:documentation>
3251 04 May 09 fredrik 598     </xs:annotation>
3251 04 May 09 fredrik 599     <xs:sequence>
3251 04 May 09 fredrik 600       <xs:element minOccurs="0" maxOccurs="unbounded" name="spectrum" type="dx:SpectrumType" />
3251 04 May 09 fredrik 601     </xs:sequence>
3251 04 May 09 fredrik 602     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 603       <xs:annotation>
3251 04 May 09 fredrik 604         <xs:documentation>The number of spectra defined in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 605       </xs:annotation>
3251 04 May 09 fredrik 606     </xs:attribute>
3251 04 May 09 fredrik 607     <xs:attribute name="defaultDataProcessingRef" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 608       <xs:annotation>
3251 04 May 09 fredrik 609         <xs:documentation>This attribute MUST reference the 'id' of the default data processing for the spectrum list. If an acquisition does not reference any data processing, it implicitly refers to this data processing. This attribute is required because the minimum amount of data processing that any format will undergo is "conversion to mzML".</xs:documentation>
3251 04 May 09 fredrik 610       </xs:annotation>
3251 04 May 09 fredrik 611     </xs:attribute>
3251 04 May 09 fredrik 612   </xs:complexType>
3251 04 May 09 fredrik 613   <xs:complexType name="SpectrumType">
3251 04 May 09 fredrik 614     <xs:annotation>
3251 04 May 09 fredrik 615       <xs:documentation>The structure that captures the generation of a peak list (including the underlying acquisitions). Also describes some of the parameters for the mass spectrometer for a given acquisition (or list of acquisitions).</xs:documentation>
3251 04 May 09 fredrik 616     </xs:annotation>
3251 04 May 09 fredrik 617     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 618       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 619         <xs:sequence>
3251 04 May 09 fredrik 620           <xs:element minOccurs="0" name="scanList" type="dx:ScanListType" />
3251 04 May 09 fredrik 621           <xs:element minOccurs="0" maxOccurs="1" name="precursorList" type="dx:PrecursorListType" />
3251 04 May 09 fredrik 622           <xs:element minOccurs="0" maxOccurs="1" name="productList" type="dx:ProductListType" />
3251 04 May 09 fredrik 623           <xs:element minOccurs="0" maxOccurs="1" name="binaryDataArrayList" type="dx:BinaryDataArrayListType" />
3251 04 May 09 fredrik 624         </xs:sequence>
3251 04 May 09 fredrik 625         <xs:attribute name="id" use="required">
3251 04 May 09 fredrik 626           <xs:annotation>
3251 04 May 09 fredrik 627             <xs:documentation>The native identifier for a spectrum. For unmerged native spectra or spectra from older open file formats, the format of the identifier is defined in the PSI-MS CV and referred to in the mzML header. External documents may use this identifier together with the mzML filename or accession to reference a particular spectrum.</xs:documentation>
3251 04 May 09 fredrik 628           </xs:annotation>
3251 04 May 09 fredrik 629           <xs:simpleType>
3251 04 May 09 fredrik 630             <xs:restriction base="xs:string">
3251 04 May 09 fredrik 631               <xs:pattern value="\S+=\S+( \S+=\S+)*" />
3251 04 May 09 fredrik 632             </xs:restriction>
3251 04 May 09 fredrik 633           </xs:simpleType>
3251 04 May 09 fredrik 634         </xs:attribute>
3251 04 May 09 fredrik 635         <xs:attribute name="spotID" type="xs:string" use="optional">
3251 04 May 09 fredrik 636           <xs:annotation>
3251 04 May 09 fredrik 637             <xs:documentation>The identifier for the spot from which this spectrum was derived, if a MALDI or similar run.</xs:documentation>
3251 04 May 09 fredrik 638           </xs:annotation>
3251 04 May 09 fredrik 639         </xs:attribute>
3251 04 May 09 fredrik 640         <xs:attribute name="index" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 641           <xs:annotation>
3251 04 May 09 fredrik 642             <xs:documentation>The zero-based, consecutive index of  the spectrum in the SpectrumList.</xs:documentation>
3251 04 May 09 fredrik 643           </xs:annotation>
3251 04 May 09 fredrik 644         </xs:attribute>
3251 04 May 09 fredrik 645         <xs:attribute name="defaultArrayLength" type="xs:int" use="required">
3251 04 May 09 fredrik 646           <xs:annotation>
3251 04 May 09 fredrik 647             <xs:documentation>Default length of binary data arrays contained in this element.</xs:documentation>
3251 04 May 09 fredrik 648           </xs:annotation>
3251 04 May 09 fredrik 649         </xs:attribute>
3251 04 May 09 fredrik 650         <xs:attribute name="dataProcessingRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 651           <xs:annotation>
3251 04 May 09 fredrik 652             <xs:documentation>This attribute can optionally reference the 'id' of the appropriate dataProcessing.</xs:documentation>
3251 04 May 09 fredrik 653           </xs:annotation>
3251 04 May 09 fredrik 654         </xs:attribute>
3251 04 May 09 fredrik 655         <xs:attribute name="sourceFileRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 656           <xs:annotation>
3251 04 May 09 fredrik 657             <xs:documentation>This attribute can optionally reference the 'id' of the appropriate sourceFile.</xs:documentation>
3251 04 May 09 fredrik 658           </xs:annotation>
3251 04 May 09 fredrik 659         </xs:attribute>
3251 04 May 09 fredrik 660       </xs:extension>
3251 04 May 09 fredrik 661     </xs:complexContent>
3251 04 May 09 fredrik 662   </xs:complexType>
3251 04 May 09 fredrik 663   <xs:complexType name="ScanWindowListType">
3251 04 May 09 fredrik 664     <xs:sequence>
3251 04 May 09 fredrik 665       <xs:element maxOccurs="unbounded" name="scanWindow" type="dx:ParamGroupType">
3251 04 May 09 fredrik 666         <xs:annotation>
3251 04 May 09 fredrik 667           <xs:documentation>A range of m/z values over which the instrument scans and aquires a spectrum.</xs:documentation>
3251 04 May 09 fredrik 668         </xs:annotation>
3251 04 May 09 fredrik 669       </xs:element>
3251 04 May 09 fredrik 670     </xs:sequence>
3251 04 May 09 fredrik 671     <xs:attribute name="count" type="xs:int" use="required">
3251 04 May 09 fredrik 672       <xs:annotation>
3251 04 May 09 fredrik 673         <xs:documentation>The number of scan windows defined in this list.</xs:documentation>
3251 04 May 09 fredrik 674       </xs:annotation>
3251 04 May 09 fredrik 675     </xs:attribute>
3251 04 May 09 fredrik 676   </xs:complexType>
3251 04 May 09 fredrik 677   <xs:complexType name="ScanListType">
3251 04 May 09 fredrik 678     <xs:annotation>
3251 04 May 09 fredrik 679       <xs:documentation>List and descriptions of scans.</xs:documentation>
3251 04 May 09 fredrik 680     </xs:annotation>
3251 04 May 09 fredrik 681     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 682       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 683         <xs:sequence>
3251 04 May 09 fredrik 684           <xs:element maxOccurs="unbounded" name="scan" type="dx:ScanType" />
3251 04 May 09 fredrik 685         </xs:sequence>
3251 04 May 09 fredrik 686         <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 687           <xs:annotation>
3251 04 May 09 fredrik 688             <xs:documentation>the number of scans defined in this list.</xs:documentation>
3251 04 May 09 fredrik 689           </xs:annotation>
3251 04 May 09 fredrik 690         </xs:attribute>
3251 04 May 09 fredrik 691       </xs:extension>
3251 04 May 09 fredrik 692     </xs:complexContent>
3251 04 May 09 fredrik 693   </xs:complexType>
3251 04 May 09 fredrik 694   <xs:complexType name="ScanType">
3251 04 May 09 fredrik 695     <xs:annotation>
3251 04 May 09 fredrik 696       <xs:documentation>Scan or acquisition from original raw file used to create this peak list, as specified in sourceFile.</xs:documentation>
3251 04 May 09 fredrik 697     </xs:annotation>
3251 04 May 09 fredrik 698     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 699       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 700         <xs:sequence>
3251 04 May 09 fredrik 701           <xs:element minOccurs="0" name="scanWindowList" type="dx:ScanWindowListType">
3251 04 May 09 fredrik 702             <xs:annotation>
3251 04 May 09 fredrik 703               <xs:documentation>Container for a list of scan windows.</xs:documentation>
3251 04 May 09 fredrik 704             </xs:annotation>
3251 04 May 09 fredrik 705           </xs:element>
3251 04 May 09 fredrik 706         </xs:sequence>
3251 04 May 09 fredrik 707         <xs:attribute name="spectrumRef" type="xs:string" use="optional">
3251 04 May 09 fredrik 708           <xs:annotation>
3251 04 May 09 fredrik 709             <xs:documentation>For scans that are local to this document, this attribute can be used to reference the 'id' attribute of the spectrum corresponding to the scan.</xs:documentation>
3251 04 May 09 fredrik 710           </xs:annotation>
3251 04 May 09 fredrik 711         </xs:attribute>
3251 04 May 09 fredrik 712         <xs:attribute name="sourceFileRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 713           <xs:annotation>
3251 04 May 09 fredrik 714             <xs:documentation>If this attribute is set, it must reference the 'id' attribute of a sourceFile representing the external document containing the spectrum referred to by 'externalSpectrumID'.
3251 04 May 09 fredrik 715 </xs:documentation>
3251 04 May 09 fredrik 716           </xs:annotation>
3251 04 May 09 fredrik 717         </xs:attribute>
3251 04 May 09 fredrik 718         <xs:attribute name="externalSpectrumID" type="xs:string" use="optional">
3251 04 May 09 fredrik 719           <xs:annotation>
3251 04 May 09 fredrik 720             <xs:documentation>For scans that are external to this document, this string must correspond to the 'id' attribute of a spectrum in the external document indicated by 'sourceFileRef'.</xs:documentation>
3251 04 May 09 fredrik 721           </xs:annotation>
3251 04 May 09 fredrik 722         </xs:attribute>
3251 04 May 09 fredrik 723         <xs:attribute name="instrumentConfigurationRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 724           <xs:annotation>
3251 04 May 09 fredrik 725             <xs:documentation>This attribute can optionally reference the 'id' attribute of the appropriate instrument configuration.</xs:documentation>
3251 04 May 09 fredrik 726           </xs:annotation>
3251 04 May 09 fredrik 727         </xs:attribute>
3251 04 May 09 fredrik 728       </xs:extension>
3251 04 May 09 fredrik 729     </xs:complexContent>
3251 04 May 09 fredrik 730   </xs:complexType>
3251 04 May 09 fredrik 731   <xs:complexType name="PrecursorListType">
3251 04 May 09 fredrik 732     <xs:annotation>
3251 04 May 09 fredrik 733       <xs:documentation>List and descriptions of precursor isolations to the spectrum currently being described, ordered.</xs:documentation>
3251 04 May 09 fredrik 734     </xs:annotation>
3251 04 May 09 fredrik 735     <xs:sequence>
3251 04 May 09 fredrik 736       <xs:element maxOccurs="unbounded" name="precursor" type="dx:PrecursorType" />
3251 04 May 09 fredrik 737     </xs:sequence>
3251 04 May 09 fredrik 738     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 739       <xs:annotation>
3251 04 May 09 fredrik 740         <xs:documentation>The number of precursor isolations in this list.</xs:documentation>
3251 04 May 09 fredrik 741       </xs:annotation>
3251 04 May 09 fredrik 742     </xs:attribute>
3251 04 May 09 fredrik 743   </xs:complexType>
3251 04 May 09 fredrik 744   <xs:complexType name="PrecursorType">
3251 04 May 09 fredrik 745     <xs:annotation>
3251 04 May 09 fredrik 746       <xs:documentation>The method of precursor ion selection and activation</xs:documentation>
3251 04 May 09 fredrik 747     </xs:annotation>
3251 04 May 09 fredrik 748     <xs:sequence>
3251 04 May 09 fredrik 749       <xs:element minOccurs="0" maxOccurs="1" name="isolationWindow" type="dx:ParamGroupType">
3251 04 May 09 fredrik 750         <xs:annotation>
3251 04 May 09 fredrik 751           <xs:documentation>This element captures the isolation (or 'selection') window configured to isolate one or more ionss.</xs:documentation>
3251 04 May 09 fredrik 752         </xs:annotation>
3251 04 May 09 fredrik 753       </xs:element>
3251 04 May 09 fredrik 754       <xs:element minOccurs="0" maxOccurs="1" name="selectedIonList" type="dx:SelectedIonListType">
3251 04 May 09 fredrik 755         <xs:annotation>
3251 04 May 09 fredrik 756           <xs:documentation>A list of ions that were selected.</xs:documentation>
3251 04 May 09 fredrik 757         </xs:annotation>
3251 04 May 09 fredrik 758       </xs:element>
3251 04 May 09 fredrik 759       <xs:element name="activation" type="dx:ParamGroupType">
3251 04 May 09 fredrik 760         <xs:annotation>
3251 04 May 09 fredrik 761           <xs:documentation>The type and energy level used for activation.</xs:documentation>
3251 04 May 09 fredrik 762         </xs:annotation>
3251 04 May 09 fredrik 763       </xs:element>
3251 04 May 09 fredrik 764     </xs:sequence>
3251 04 May 09 fredrik 765     <xs:attribute name="spectrumRef" type="xs:string" use="optional">
3251 04 May 09 fredrik 766       <xs:annotation>
3251 04 May 09 fredrik 767         <xs:documentation>For precursor spectra that are local to this document, this attribute must be used to reference the 'id' attribute of the spectrum corresponding to the precursor spectrum.</xs:documentation>
3251 04 May 09 fredrik 768       </xs:annotation>
3251 04 May 09 fredrik 769     </xs:attribute>
3251 04 May 09 fredrik 770     <xs:attribute name="sourceFileRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 771       <xs:annotation>
3251 04 May 09 fredrik 772         <xs:documentation>For precursor spectra that are external to this document, this attribute must reference the 'id' attribute of a sourceFile representing that external document.</xs:documentation>
3251 04 May 09 fredrik 773       </xs:annotation>
3251 04 May 09 fredrik 774     </xs:attribute>
3251 04 May 09 fredrik 775     <xs:attribute name="externalSpectrumID" type="xs:string" use="optional">
3251 04 May 09 fredrik 776       <xs:annotation>
3251 04 May 09 fredrik 777         <xs:documentation>For precursor spectra that are external to this document, this string must correspond to the 'id' attribute of a spectrum in the external document indicated by 'sourceFileRef'.</xs:documentation>
3251 04 May 09 fredrik 778       </xs:annotation>
3251 04 May 09 fredrik 779     </xs:attribute>
3251 04 May 09 fredrik 780   </xs:complexType>
3251 04 May 09 fredrik 781   <xs:complexType name="SelectedIonListType">
3251 04 May 09 fredrik 782     <xs:annotation>
3251 04 May 09 fredrik 783       <xs:documentation>The list of selected precursor ions.</xs:documentation>
3251 04 May 09 fredrik 784     </xs:annotation>
3251 04 May 09 fredrik 785     <xs:sequence>
3251 04 May 09 fredrik 786       <xs:element minOccurs="1" maxOccurs="unbounded" name="selectedIon" type="dx:ParamGroupType" />
3251 04 May 09 fredrik 787     </xs:sequence>
3251 04 May 09 fredrik 788     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 789       <xs:annotation>
3251 04 May 09 fredrik 790         <xs:documentation>The number of selected precursor ions defined in this list.</xs:documentation>
3251 04 May 09 fredrik 791       </xs:annotation>
3251 04 May 09 fredrik 792     </xs:attribute>
3251 04 May 09 fredrik 793   </xs:complexType>
3251 04 May 09 fredrik 794   <xs:complexType name="ProductListType">
3251 04 May 09 fredrik 795     <xs:annotation>
3251 04 May 09 fredrik 796       <xs:documentation>List and descriptions of product isolations to the spectrum currently being described, ordered.</xs:documentation>
3251 04 May 09 fredrik 797     </xs:annotation>
3251 04 May 09 fredrik 798     <xs:sequence>
3251 04 May 09 fredrik 799       <xs:element maxOccurs="unbounded" name="product" type="dx:ProductType" />
3251 04 May 09 fredrik 800     </xs:sequence>
3251 04 May 09 fredrik 801     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 802       <xs:annotation>
3251 04 May 09 fredrik 803         <xs:documentation>The number of product isolations in this list.</xs:documentation>
3251 04 May 09 fredrik 804       </xs:annotation>
3251 04 May 09 fredrik 805     </xs:attribute>
3251 04 May 09 fredrik 806   </xs:complexType>
3251 04 May 09 fredrik 807   <xs:complexType name="ProductType">
3251 04 May 09 fredrik 808     <xs:annotation>
3251 04 May 09 fredrik 809       <xs:documentation>The method of product ion selection and activation in a precursor ion scan</xs:documentation>
3251 04 May 09 fredrik 810     </xs:annotation>
3251 04 May 09 fredrik 811     <xs:sequence>
3251 04 May 09 fredrik 812       <xs:element minOccurs="0" maxOccurs="1" name="isolationWindow" type="dx:ParamGroupType">
3251 04 May 09 fredrik 813         <xs:annotation>
3251 04 May 09 fredrik 814           <xs:documentation>This element captures the isolation (or 'selection') window configured to isolate one or more ions.</xs:documentation>
3251 04 May 09 fredrik 815         </xs:annotation>
3251 04 May 09 fredrik 816       </xs:element>
3251 04 May 09 fredrik 817     </xs:sequence>
3251 04 May 09 fredrik 818   </xs:complexType>
3251 04 May 09 fredrik 819   <xs:complexType name="BinaryDataArrayListType">
3251 04 May 09 fredrik 820     <xs:annotation>
3251 04 May 09 fredrik 821       <xs:documentation>List of binary data arrays.</xs:documentation>
3251 04 May 09 fredrik 822     </xs:annotation>
3251 04 May 09 fredrik 823     <xs:sequence>
3251 04 May 09 fredrik 824       <xs:element minOccurs="2" maxOccurs="unbounded" name="binaryDataArray" type="dx:BinaryDataArrayType">
3251 04 May 09 fredrik 825         <xs:annotation>
3251 04 May 09 fredrik 826           <xs:documentation>Data point arrays for default data arrays (m/z, intensity, time) and meta data arrays. Default data arrays must not have the attributes 'arrayLength' and 'dataProcessingRef'.</xs:documentation>
3251 04 May 09 fredrik 827         </xs:annotation>
3251 04 May 09 fredrik 828       </xs:element>
3251 04 May 09 fredrik 829     </xs:sequence>
3251 04 May 09 fredrik 830     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 831       <xs:annotation>
3251 04 May 09 fredrik 832         <xs:documentation>The number of binary data arrays defined in this list.</xs:documentation>
3251 04 May 09 fredrik 833       </xs:annotation>
3251 04 May 09 fredrik 834     </xs:attribute>
3251 04 May 09 fredrik 835   </xs:complexType>
3251 04 May 09 fredrik 836   <xs:complexType name="BinaryDataArrayType">
3251 04 May 09 fredrik 837     <xs:annotation>
3251 04 May 09 fredrik 838       <xs:documentation>The structure into which encoded binary data goes. Byte ordering is always little endian (Intel style). Computers using a different endian style must convert to/from little endian when writing/reading mzML</xs:documentation>
3251 04 May 09 fredrik 839     </xs:annotation>
3251 04 May 09 fredrik 840     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 841       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 842         <xs:sequence>
3251 04 May 09 fredrik 843           <xs:element name="binary" type="xs:base64Binary">
3251 04 May 09 fredrik 844             <xs:annotation>
3251 04 May 09 fredrik 845               <xs:documentation>The actual base64 encoded binary data. The byte order is always 'little endian'.</xs:documentation>
3251 04 May 09 fredrik 846             </xs:annotation>
3251 04 May 09 fredrik 847           </xs:element>
3251 04 May 09 fredrik 848         </xs:sequence>
3251 04 May 09 fredrik 849         <xs:attribute name="arrayLength" type="xs:nonNegativeInteger" use="optional">
3251 04 May 09 fredrik 850           <xs:annotation>
3251 04 May 09 fredrik 851             <xs:documentation>This optional attribute may override the 'defaultArrayLength' defined in SpectrumType. The two default arrays (m/z and intensity) should NEVER use this override option, and should therefore adhere to the 'defaultArrayLength' defined in SpectrumType. Parsing software can thus safely choose to ignore arrays of lengths different from the one defined in the 'defaultArrayLength' SpectrumType element.</xs:documentation>
3251 04 May 09 fredrik 852           </xs:annotation>
3251 04 May 09 fredrik 853         </xs:attribute>
3251 04 May 09 fredrik 854         <xs:attribute name="dataProcessingRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 855           <xs:annotation>
3251 04 May 09 fredrik 856             <xs:documentation>This optional attribute may reference the 'id' attribute of the appropriate dataProcessing.</xs:documentation>
3251 04 May 09 fredrik 857           </xs:annotation>
3251 04 May 09 fredrik 858         </xs:attribute>
3251 04 May 09 fredrik 859         <xs:attribute name="encodedLength" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 860           <xs:annotation>
3251 04 May 09 fredrik 861             <xs:documentation>The encoded length of the binary data array.</xs:documentation>
3251 04 May 09 fredrik 862           </xs:annotation>
3251 04 May 09 fredrik 863         </xs:attribute>
3251 04 May 09 fredrik 864       </xs:extension>
3251 04 May 09 fredrik 865     </xs:complexContent>
3251 04 May 09 fredrik 866   </xs:complexType>
3251 04 May 09 fredrik 867   <xs:complexType name="ChromatogramListType">
3251 04 May 09 fredrik 868     <xs:annotation>
3251 04 May 09 fredrik 869       <xs:documentation>List of chromatograms.</xs:documentation>
3251 04 May 09 fredrik 870     </xs:annotation>
3251 04 May 09 fredrik 871     <xs:sequence>
3251 04 May 09 fredrik 872       <xs:element minOccurs="1" maxOccurs="unbounded" name="chromatogram" type="dx:ChromatogramType" />
3251 04 May 09 fredrik 873     </xs:sequence>
3251 04 May 09 fredrik 874     <xs:attribute name="count" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 875       <xs:annotation>
3251 04 May 09 fredrik 876         <xs:documentation>The number of chromatograms defined in this mzML file.</xs:documentation>
3251 04 May 09 fredrik 877       </xs:annotation>
3251 04 May 09 fredrik 878     </xs:attribute>
3251 04 May 09 fredrik 879     <xs:attribute name="defaultDataProcessingRef" type="xs:IDREF" use="required">
3251 04 May 09 fredrik 880       <xs:annotation>
3251 04 May 09 fredrik 881         <xs:documentation>This attribute MUST reference the 'id' of the default data processing for the chromatogram list. If an acquisition does not reference any data processing, it implicitly refers to this data processing. This attribute is required because the minimum amount of data processing that any format will undergo is "conversion to mzML".</xs:documentation>
3251 04 May 09 fredrik 882       </xs:annotation>
3251 04 May 09 fredrik 883     </xs:attribute>
3251 04 May 09 fredrik 884   </xs:complexType>
3251 04 May 09 fredrik 885   <xs:complexType name="ChromatogramType">
3251 04 May 09 fredrik 886     <xs:annotation>
3251 04 May 09 fredrik 887       <xs:documentation>A single chromatogram.</xs:documentation>
3251 04 May 09 fredrik 888     </xs:annotation>
3251 04 May 09 fredrik 889     <xs:complexContent mixed="false">
3251 04 May 09 fredrik 890       <xs:extension base="dx:ParamGroupType">
3251 04 May 09 fredrik 891         <xs:sequence>
3251 04 May 09 fredrik 892           <xs:element minOccurs="1" maxOccurs="1" name="binaryDataArrayList" type="dx:BinaryDataArrayListType" />
3251 04 May 09 fredrik 893         </xs:sequence>
3251 04 May 09 fredrik 894         <xs:attribute name="id" type="xs:string" use="required">
3251 04 May 09 fredrik 895           <xs:annotation>
3251 04 May 09 fredrik 896             <xs:documentation>A unique identifier for this chromatogram.</xs:documentation>
3251 04 May 09 fredrik 897           </xs:annotation>
3251 04 May 09 fredrik 898         </xs:attribute>
3251 04 May 09 fredrik 899         <xs:attribute name="index" type="xs:nonNegativeInteger" use="required">
3251 04 May 09 fredrik 900           <xs:annotation>
3251 04 May 09 fredrik 901             <xs:documentation>The zero-based index for this chromatogram in the chromatogram list.</xs:documentation>
3251 04 May 09 fredrik 902           </xs:annotation>
3251 04 May 09 fredrik 903         </xs:attribute>
3251 04 May 09 fredrik 904         <xs:attribute name="defaultArrayLength" type="xs:int" use="required">
3251 04 May 09 fredrik 905           <xs:annotation>
3251 04 May 09 fredrik 906             <xs:documentation>Default length of binary data arrays contained in this element.</xs:documentation>
3251 04 May 09 fredrik 907           </xs:annotation>
3251 04 May 09 fredrik 908         </xs:attribute>
3251 04 May 09 fredrik 909         <xs:attribute name="dataProcessingRef" type="xs:IDREF" use="optional">
3251 04 May 09 fredrik 910           <xs:annotation>
3251 04 May 09 fredrik 911             <xs:documentation>This attribute can optionally reference the 'id' of the appropriate dataProcessing.</xs:documentation>
3251 04 May 09 fredrik 912           </xs:annotation>
3251 04 May 09 fredrik 913         </xs:attribute>
3251 04 May 09 fredrik 914       </xs:extension>
3251 04 May 09 fredrik 915     </xs:complexContent>
3251 04 May 09 fredrik 916   </xs:complexType>
3251 04 May 09 fredrik 917   <xs:element name="mzML" type="dx:mzMLType">
3251 04 May 09 fredrik 918     <xs:annotation>
3251 04 May 09 fredrik 919       <xs:documentation>This is the root element for the Proteomics Standards Initiative (PSI) mzML schema, which is intended to capture the use of a mass spectrometer, the data generated, and the initial processing of that data (to the level of the peak list).</xs:documentation>
3251 04 May 09 fredrik 920     </xs:annotation>
3251 04 May 09 fredrik 921     <xs:key name="KEY_SPECTRUM_ID">
3251 04 May 09 fredrik 922       <xs:annotation>
3251 04 May 09 fredrik 923         <xs:documentation>
3251 04 May 09 fredrik 924           This is a unique key constraint on spectrum identifiers stored in the id attribute. It ensures that an id is present and unique among all spectra. Note that this constrains schematic validation only (full semantic validation restricts spectrum IDs to a specified nativeID format).
3251 04 May 09 fredrik 925         </xs:documentation>
3251 04 May 09 fredrik 926       </xs:annotation>
3251 04 May 09 fredrik 927       <xs:selector xpath="./dx:run/dx:spectrumList/dx:spectrum" />
3251 04 May 09 fredrik 928       <xs:field xpath="@id" />
3251 04 May 09 fredrik 929     </xs:key>
3251 04 May 09 fredrik 930     <xs:key name="KEY_CHROMATOGRAM_ID">
3251 04 May 09 fredrik 931       <xs:annotation>
3251 04 May 09 fredrik 932         <xs:documentation>
3251 04 May 09 fredrik 933           This is a unique key constraint on chromatogram identifiers stored in the id attribute. It ensures that an id is present and unique among all chromatograms.
3251 04 May 09 fredrik 934         </xs:documentation>
3251 04 May 09 fredrik 935       </xs:annotation>
3251 04 May 09 fredrik 936       <xs:selector xpath="./dx:run/dx:chromatogramList/dx:chromatogram" />
3251 04 May 09 fredrik 937       <xs:field xpath="@id" />
3251 04 May 09 fredrik 938     </xs:key>
3251 04 May 09 fredrik 939     <xs:key name="KEY_SOURCEFILE_ID">
3251 04 May 09 fredrik 940       <xs:annotation>
3251 04 May 09 fredrik 941         <xs:documentation>
3251 04 May 09 fredrik 942           This is a unique key constraint on source file identifiers stored in the id attribute. It ensures that an id is present and unique among all source files.
3251 04 May 09 fredrik 943         </xs:documentation>
3251 04 May 09 fredrik 944       </xs:annotation>
3251 04 May 09 fredrik 945       <xs:selector xpath="./dx:fileDescription/dx:sourceFileList/dx:sourceFile" />
3251 04 May 09 fredrik 946       <xs:field xpath="@id" />
3251 04 May 09 fredrik 947     </xs:key>
3251 04 May 09 fredrik 948     <xs:key name="KEY_CV_ID">
3251 04 May 09 fredrik 949       <xs:annotation>
3251 04 May 09 fredrik 950         <xs:documentation>
3251 04 May 09 fredrik 951           This is a unique key constraint on CV identifiers stored in the id attribute. It ensures that an id is present and unique among all CVs.
3251 04 May 09 fredrik 952         </xs:documentation>
3251 04 May 09 fredrik 953       </xs:annotation>
3251 04 May 09 fredrik 954       <xs:selector xpath="./dx:cvList/dx:cv" />
3251 04 May 09 fredrik 955       <xs:field xpath="@id" />
3251 04 May 09 fredrik 956     </xs:key>
3251 04 May 09 fredrik 957     <xs:key name="KEY_RPG_ID">
3251 04 May 09 fredrik 958       <xs:annotation>
3251 04 May 09 fredrik 959         <xs:documentation>
3251 04 May 09 fredrik 960           This is a unique key constraint on referenceable param group identifiers stored in the id attribute. It ensures that an id is present and unique among all referenceable param groups.
3251 04 May 09 fredrik 961         </xs:documentation>
3251 04 May 09 fredrik 962       </xs:annotation>
3251 04 May 09 fredrik 963       <xs:selector xpath="./dx:referenceableParamGroupList/dx:referenceableParamGroup" />
3251 04 May 09 fredrik 964       <xs:field xpath="@id" />
3251 04 May 09 fredrik 965     </xs:key>
3251 04 May 09 fredrik 966     <xs:key name="KEY_SAMPLE_ID">
3251 04 May 09 fredrik 967       <xs:annotation>
3251 04 May 09 fredrik 968         <xs:documentation>
3251 04 May 09 fredrik 969           This is a unique key constraint on sample identifiers stored in the id attribute. It ensures that an id is present and unique among all samples.
3251 04 May 09 fredrik 970         </xs:documentation>
3251 04 May 09 fredrik 971       </xs:annotation>
3251 04 May 09 fredrik 972       <xs:selector xpath="./dx:sampleList/dx:sample" />
3251 04 May 09 fredrik 973       <xs:field xpath="@id" />
3251 04 May 09 fredrik 974     </xs:key>
3251 04 May 09 fredrik 975     <xs:key name="KEY_IC_ID">
3251 04 May 09 fredrik 976       <xs:annotation>
3251 04 May 09 fredrik 977         <xs:documentation>
3251 04 May 09 fredrik 978           This is a unique key constraint on instrument configuration identifiers stored in the id attribute. It ensures that an id is present and unique among all instrument configurations.
3251 04 May 09 fredrik 979         </xs:documentation>
3251 04 May 09 fredrik 980       </xs:annotation>
3251 04 May 09 fredrik 981       <xs:selector xpath="./dx:instrumentConfigurationList/dx:instrumentConfiguration" />
3251 04 May 09 fredrik 982       <xs:field xpath="@id" />
3251 04 May 09 fredrik 983     </xs:key>
3251 04 May 09 fredrik 984     <xs:key name="KEY_DP_ID">
3251 04 May 09 fredrik 985       <xs:annotation>
3251 04 May 09 fredrik 986         <xs:documentation>
3251 04 May 09 fredrik 987           This is a unique key constraint on data processing identifiers stored in the id attribute. It ensures that an id is present and unique among all data processing elements.
3251 04 May 09 fredrik 988         </xs:documentation>
3251 04 May 09 fredrik 989       </xs:annotation>
3251 04 May 09 fredrik 990       <xs:selector xpath="./dx:dataProcessingList/dx:dataProcessing" />
3251 04 May 09 fredrik 991       <xs:field xpath="@id" />
3251 04 May 09 fredrik 992     </xs:key>
3251 04 May 09 fredrik 993     <xs:key name="KEY_SOFTWARE_ID">
3251 04 May 09 fredrik 994       <xs:annotation>
3251 04 May 09 fredrik 995         <xs:documentation>
3251 04 May 09 fredrik 996           This is a unique key constraint on software identifiers stored in the id attribute. It ensures that an id is present and unique among all software elements.
3251 04 May 09 fredrik 997         </xs:documentation>
3251 04 May 09 fredrik 998       </xs:annotation>
3251 04 May 09 fredrik 999       <xs:selector xpath="./dx:softwareList/dx:software" />
3251 04 May 09 fredrik 1000       <xs:field xpath="@id" />
3251 04 May 09 fredrik 1001     </xs:key>
3251 04 May 09 fredrik 1002     <xs:key name="KEY_SCAN_SETTINGS_ID">
3251 04 May 09 fredrik 1003       <xs:annotation>
3251 04 May 09 fredrik 1004         <xs:documentation>
3251 04 May 09 fredrik 1005           This is a unique key constraint on scan settings identifiers stored in the id attribute. It ensures that an id is present and unique among all scan settings elements.
3251 04 May 09 fredrik 1006         </xs:documentation>
3251 04 May 09 fredrik 1007       </xs:annotation>
3251 04 May 09 fredrik 1008       <xs:selector xpath="./dx:scanSettingsList/dx:scanSettings" />
3251 04 May 09 fredrik 1009       <xs:field xpath="@id" />
3251 04 May 09 fredrik 1010     </xs:key>
3251 04 May 09 fredrik 1011     <xs:keyref name="KEYREF_SCAN_SPECTRUMREF" refer="dx:KEY_SPECTRUM_ID">
3251 04 May 09 fredrik 1012       <xs:annotation>
3251 04 May 09 fredrik 1013         <xs:documentation>
3251 04 May 09 fredrik 1014           This is a reference to spectrum contained within this file. It ensures that an id is present in the file and is one of the values defined in KEY_SPECTRUM_ID.
3251 04 May 09 fredrik 1015         </xs:documentation>
3251 04 May 09 fredrik 1016       </xs:annotation>
3251 04 May 09 fredrik 1017       <xs:selector xpath="./dx:run/dx:spectrumList/dx:spectrum/dx:precursorList/dx:precursor" />
3251 04 May 09 fredrik 1018       <xs:field xpath="@spectrumRef" />
3251 04 May 09 fredrik 1019     </xs:keyref>
3251 04 May 09 fredrik 1020     <xs:keyref name="KEYREF_PRECURSOR_SPECTRUMREF" refer="dx:KEY_SPECTRUM_ID">
3251 04 May 09 fredrik 1021       <xs:annotation>
3251 04 May 09 fredrik 1022         <xs:documentation>
3251 04 May 09 fredrik 1023           This is a reference to spectrum contained within this file. It ensures that an id is present in the file and is one of the values defined in KEY_SPECTRUM_ID.
3251 04 May 09 fredrik 1024         </xs:documentation>
3251 04 May 09 fredrik 1025       </xs:annotation>
3251 04 May 09 fredrik 1026       <xs:selector xpath="./dx:run/dx:spectrumList/dx:spectrum/dx:scanList/dx:scan" />
3251 04 May 09 fredrik 1027       <xs:field xpath="@spectrumRef" />
3251 04 May 09 fredrik 1028     </xs:keyref>
3251 04 May 09 fredrik 1029     <xs:keyref name="KEYREF_PRECURSOR_SOURCEFILEREF" refer="dx:KEY_SOURCEFILE_ID">
3251 04 May 09 fredrik 1030       <xs:annotation>
3251 04 May 09 fredrik 1031         <xs:documentation>
3251 04 May 09 fredrik 1032           This is a reference to a source file in sourceFileList. It ensures that an id is present in the file and is one of the values defined in KEY_SOURCEFILE_ID.
3251 04 May 09 fredrik 1033         </xs:documentation>
3251 04 May 09 fredrik 1034       </xs:annotation>
3251 04 May 09 fredrik 1035       <xs:selector xpath=".//dx:precursor | .//dx:scan" />
3251 04 May 09 fredrik 1036       <xs:field xpath="@sourceFileRef" />
3251 04 May 09 fredrik 1037     </xs:keyref>
3251 04 May 09 fredrik 1038     <xs:keyref name="KEYREF_RUN_SAMPLEREF" refer="dx:KEY_SAMPLE_ID">
3251 04 May 09 fredrik 1039       <xs:annotation>
3251 04 May 09 fredrik 1040         <xs:documentation>
3251 04 May 09 fredrik 1041           This is a reference to a sample in sampleList. It ensures that an id is present in the file and is one of the values defined in KEY_SAMPLE_ID.
3251 04 May 09 fredrik 1042         </xs:documentation>
3251 04 May 09 fredrik 1043       </xs:annotation>
3251 04 May 09 fredrik 1044       <xs:selector xpath="./dx:run" />
3251 04 May 09 fredrik 1045       <xs:field xpath="@sampleRef" />
3251 04 May 09 fredrik 1046     </xs:keyref>
3251 04 May 09 fredrik 1047     <xs:keyref name="KEYREF_SOFTWAREREF" refer="dx:KEY_SOFTWARE_ID">
3251 04 May 09 fredrik 1048       <xs:annotation>
3251 04 May 09 fredrik 1049         <xs:documentation>
3251 04 May 09 fredrik 1050           This is a reference to an instrument configuration in instrumentConfigurationList. It ensures that an id is present in the file and is one of the values defined in KEY_SOFTWARE_ID.
3251 04 May 09 fredrik 1051         </xs:documentation>
3251 04 May 09 fredrik 1052       </xs:annotation>
3251 04 May 09 fredrik 1053       <xs:selector xpath=".//dx:processingMethod" />
3251 04 May 09 fredrik 1054       <xs:field xpath="@softwareRef" />
3251 04 May 09 fredrik 1055     </xs:keyref>
3251 04 May 09 fredrik 1056     <xs:keyref name="KEYREF_DEFAULTDPREF" refer="dx:KEY_DP_ID">
3251 04 May 09 fredrik 1057       <xs:annotation>
3251 04 May 09 fredrik 1058         <xs:documentation>
3251 04 May 09 fredrik 1059           This is a reference to a data processing element in dataProcessingList. It ensures that an id is present in the file and is one of the values defined in KEY_DP_ID.
3251 04 May 09 fredrik 1060         </xs:documentation>
3251 04 May 09 fredrik 1061       </xs:annotation>
3251 04 May 09 fredrik 1062       <xs:selector xpath="./dx:run/dx:spectrumList | ./dx:run/dx:chromatogramList" />
3251 04 May 09 fredrik 1063       <xs:field xpath="@defaultDataProcessingRef" />
3251 04 May 09 fredrik 1064     </xs:keyref>
3251 04 May 09 fredrik 1065     <xs:keyref name="KEYREF_DPREF" refer="dx:KEY_DP_ID">
3251 04 May 09 fredrik 1066       <xs:annotation>
3251 04 May 09 fredrik 1067         <xs:documentation>
3251 04 May 09 fredrik 1068           This is a reference to a data processing element in dataProcessingList. It ensures that an id is present in the file and is one of the values defined in KEY_DP_ID.
3251 04 May 09 fredrik 1069         </xs:documentation>
3251 04 May 09 fredrik 1070       </xs:annotation>
3251 04 May 09 fredrik 1071       <xs:selector xpath=".//dx:spectrum | .//dx:chromatogram | .//dx:binaryDataArray" />
3251 04 May 09 fredrik 1072       <xs:field xpath="@dataProcessingRef" />
3251 04 May 09 fredrik 1073     </xs:keyref>
3251 04 May 09 fredrik 1074     <xs:keyref name="KEYREF_CVREF" refer="dx:KEY_CV_ID">
3251 04 May 09 fredrik 1075       <xs:annotation>
3251 04 May 09 fredrik 1076         <xs:documentation>
3251 04 May 09 fredrik 1077           This is a reference to a CV in cvList. It ensures that an id is present in the file and is one of the values defined in KEY_CV_ID.
3251 04 May 09 fredrik 1078         </xs:documentation>
3251 04 May 09 fredrik 1079       </xs:annotation>
3251 04 May 09 fredrik 1080       <xs:selector xpath=".//dx:cvParam" />
3251 04 May 09 fredrik 1081       <xs:field xpath="@cvRef" />
3251 04 May 09 fredrik 1082     </xs:keyref>
3251 04 May 09 fredrik 1083     <xs:keyref name="KEYREF_UNITCVREF" refer="dx:KEY_CV_ID">
3251 04 May 09 fredrik 1084       <xs:annotation>
3251 04 May 09 fredrik 1085         <xs:documentation>
3251 04 May 09 fredrik 1086           This is a reference to the CV in cvList used for unit terms. It ensures that an id is present in the file and is one of the values defined in KEY_CV_ID.
3251 04 May 09 fredrik 1087         </xs:documentation>
3251 04 May 09 fredrik 1088       </xs:annotation>
3251 04 May 09 fredrik 1089       <xs:selector xpath=".//dx:cvParam | .//dx:userParam" />
3251 04 May 09 fredrik 1090       <xs:field xpath="@unitCvRef" />
3251 04 May 09 fredrik 1091     </xs:keyref>
3251 04 May 09 fredrik 1092     <xs:keyref name="KEYREF_RPGREF" refer="dx:KEY_RPG_ID">
3251 04 May 09 fredrik 1093       <xs:annotation>
3251 04 May 09 fredrik 1094         <xs:documentation>
3251 04 May 09 fredrik 1095           This is a reference to a referenceable param group in referenceableParamGroupList. It ensures that an id is present in the file and is one of the values defined in KEY_RPG_ID.
3251 04 May 09 fredrik 1096         </xs:documentation>
3251 04 May 09 fredrik 1097       </xs:annotation>
3251 04 May 09 fredrik 1098       <xs:selector xpath=".//dx:referenceableParamGroupRef" />
3251 04 May 09 fredrik 1099       <xs:field xpath="@ref" />
3251 04 May 09 fredrik 1100     </xs:keyref>
3251 04 May 09 fredrik 1101     <xs:keyref name="KEYREF_DEFAULTICREF" refer="dx:KEY_IC_ID">
3251 04 May 09 fredrik 1102       <xs:annotation>
3251 04 May 09 fredrik 1103         <xs:documentation>
3251 04 May 09 fredrik 1104           This is a reference to an instrument configuration in instrumentConfigurationList. It ensures that an id is present in the file and is one of the values defined in KEY_IC_ID.
3251 04 May 09 fredrik 1105         </xs:documentation>
3251 04 May 09 fredrik 1106       </xs:annotation>
3251 04 May 09 fredrik 1107       <xs:selector xpath="./dx:run/dx:spectrumList | ./dx:run/dx:chromatogramList" />
3251 04 May 09 fredrik 1108       <xs:field xpath="@defaultInstrumentConfigurationRef" />
3251 04 May 09 fredrik 1109     </xs:keyref>
3251 04 May 09 fredrik 1110     <xs:keyref name="KEYREF_ICREF" refer="dx:KEY_IC_ID">
3251 04 May 09 fredrik 1111       <xs:annotation>
3251 04 May 09 fredrik 1112         <xs:documentation>
3251 04 May 09 fredrik 1113           This is a reference to an instrument configuration in instrumentConfigurationList. It ensures that an id is present in the file and is one of the values defined in KEY_IC_ID.
3251 04 May 09 fredrik 1114         </xs:documentation>
3251 04 May 09 fredrik 1115       </xs:annotation>
3251 04 May 09 fredrik 1116       <xs:selector xpath=".//dx:scan" />
3251 04 May 09 fredrik 1117       <xs:field xpath="@instrumentConfigurationRef" />
3251 04 May 09 fredrik 1118     </xs:keyref>
3251 04 May 09 fredrik 1119   </xs:element>
3251 04 May 09 fredrik 1120 </xs:schema>