Element <mzML>

Definition: 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).
Type: dx:mzMLType
Attributes:
Attribute NameData TypeUseDefinition
accessionxs:stringoptionalAn optional accession number for the mzML document used for storage, e.g. in PRIDE.
idxs:stringoptionalAn optional id for the mzML document used for referencing from external files. It is recommended to use LSIDs when possible.
versionxs:stringrequiredThe version of this mzML document.
Subelements:
Subelement NameminmaxDefinition
cvList11Container for one or more controlled vocabulary definitions.
fileDescription11Information pertaining to the entire mzML file (i.e. not specific to any part of the data set) is stored here.
referenceableParamGroupList01Container for a list of referenceableParamGroups
sampleList01List and descriptions of samples.
softwareList11List and descriptions of software used to acquire and/or process the data in this mzML file.
scanSettingsList01List with the descriptions of the acquisition settings applied prior to the start of data acquisition.
instrumentConfigurationList11List 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.
dataProcessingList11List and descriptions of data processing applied to this data.
run11A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument.
Graphical Context:
Example Context:
<mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="urn:lsid:psidev.info:mzML.instanceDocuments.tiny.pwiz" version="1.0">
  <cvList count="2">
    <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="1.18.2" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>
    <cv id="UO" fullName="Unit Ontology" version="04:03:2009" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>
  </cvList>
  <fileDescription>
    <fileContent>
  ...
</mzML>
Notes and Constraints: The <mzML> element and all content below may occur by itself in an XML document, but is also designed to be wrapped in the mzML indexing schema in order to facilitate random access within the file with appropriate reader software.

Element <cvList>

Definition: Container for one or more controlled vocabulary definitions.
Type: dx:CVListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of CV definitionsin this mzML file.
Subelements:
Subelement NameminmaxDefinition
cv1unlimInformation about an ontology or CV source and a short 'lookup' tag to refer to.
Graphical Context:
Example Context:
<cvList count="2">
  <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="1.18.2" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>
  <cv id="UO" fullName="Unit Ontology" version="04:03:2009" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>
</cvList>
Notes and Constraints: One of the <cv> elements in this list MUST be the PSI MS controlled vocabulary. All <cvParam> elements in the document MUST refer to one of the <cv> elements in this list.

Element <fileDescription>

Definition: Information pertaining to the entire mzML file (i.e. not specific to any part of the data set) is stored here.
Type: dx:FileDescriptionType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
fileContent11This 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.
sourceFileList01List and descriptions of the source files this mzML document was generated or derived from
contact0unlimStructure 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).
Graphical Context:
Example Context:
<fileDescription>
  <fileContent>
    <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value=""/>
    <userParam name="ProteoWizard" value="Thermo RAW data converted to mzML, with additional MIAPE parameters added for illustration"/>
  </fileContent>
  <sourceFileList count="2">
    <sourceFile id="RAW1" name="small.RAW" location="file:///.">
  ...
</fileDescription>

Element <referenceableParamGroupList>

Definition: Container for a list of referenceableParamGroups
Type: dx:ReferenceableParamGroupListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of ParamGroups defined in this mzML file.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroup1unlimA 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.
Graphical Context:
Example Context:
<referenceableParamGroupList count="3">
  <referenceableParamGroup id="CommonInstrumentParams">
    <cvParam cvRef="MS" accession="MS:1000448" name="LTQ FT" value=""/>
    <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="SN06061F"/>
  </referenceableParamGroup>
  <referenceableParamGroup id="InstrumentCustomization">
    <cvParam cvRef="MS" accession="MS:1000032" name="customization" value="none"/>
  ...
</referenceableParamGroupList>

Element <sampleList>

Definition: List and descriptions of samples.
Type: dx:SampleListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of Samples defined in this mzML file.
Subelements:
Subelement NameminmaxDefinition
sample1unlimExpansible description of the sample used to generate the dataset, named in sampleName.
Graphical Context:
Example Context:
<sampleList count="2">
  <sample id="sample1" name="Sample 1">
  </sample>
  <sample id="sample2" name="Sample 2">
  </sample>
</sampleList>

Element <softwareList>

Definition: List and descriptions of software used to acquire and/or process the data in this mzML file.
Type: dx:SoftwareListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of softwares defined in this mzML file.
Subelements:
Subelement NameminmaxDefinition
software1unlimA piece of software.
Graphical Context:
Example Context:
<softwareList count="2">
  <software id="Xcalibur" version="1.1 Beta 7">
    <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>
  </software>
  <software id="pwiz" version="1.4.0">
    <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard" value=""/>
  </software>
  ...
</softwareList>

Element <scanSettingsList>

Definition: List with the descriptions of the acquisition settings applied prior to the start of data acquisition.
Type: dx:ScanSettingsListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of AcquisitionType elements in this list.
Subelements:
Subelement NameminmaxDefinition
scanSettings1unlimDescription of the acquisition settings of the instrument prior to the start of the run.
Graphical Context:
Example Context:
<scanSettingsList count="1">
  <scanSettings id="acquisition_settings_MIAPE_example">
    <sourceFileRefList count="1">
      <sourceFileRef ref="sf_parameters"/>
    </sourceFileRefList>
    <targetList count="2">
      <target>
  ...
</scanSettingsList>

Element <instrumentConfigurationList>

Definition: 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.
Type: dx:InstrumentConfigurationListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of instrument configurations present in this list.
Subelements:
Subelement NameminmaxDefinition
instrumentConfiguration1unlimDescription 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.
Graphical Context:
Example Context:
<instrumentConfigurationList count="1">
  <instrumentConfiguration id="LCQDeca">
    <cvParam cvRef="MS" accession="MS:1000554" name="LCQ Deca" value=""/>
    <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="23433"/>
    <componentList count="3">
      <source order="1">
        <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value=""/>
  ...
</instrumentConfigurationList>

Element <dataProcessingList>

Definition: List and descriptions of data processing applied to this data.
Type: dx:DataProcessingListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of DataProcessingTypes in this mzML file.
Subelements:
Subelement NameminmaxDefinition
dataProcessing1unlimDescription of the way in which a particular software was used.
Graphical Context:
Example Context:
<dataProcessingList count="2">
  <dataProcessing id="MIAPE_example">
    <processingMethod order="1" softwareRef="pwiz">
      <cvParam cvRef="MS" accession="MS:1000033" name="deisotoping" value=""/>
      <cvParam cvRef="MS" accession="MS:1000034" name="charge deconvolution" value=""/>
      <cvParam cvRef="MS" accession="MS:1000035" name="peak picking" value=""/>
      <cvParam cvRef="MS" accession="MS:1000592" name="smoothing" value=""/>
  ...
</dataProcessingList>

Element <run>

Definition: A run in mzML should correspond to a single, consecutive and coherent set of scans on an instrument.
Type: dx:RunType
Attributes:
Attribute NameData TypeUseDefinition
defaultInstrumentConfigurationRefxs:IDREFrequiredThis 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.
defaultSourceFileRefxs:IDREFoptionalThis 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.
idxs:IDrequiredA unique identifier for this run.
sampleRefxs:IDREFoptionalThis attribute MUST reference the 'id' of the appropriate sample.
startTimeStampxs:dateTimeoptionalThe optional start timestamp of the run, in UT.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
spectrumList01All mass spectra and the acquisitions underlying them are described and attached here. Subsidiary data arrays are also both described and attached here.
chromatogramList01All chromatograms for this run.
Graphical Context:
Example Context:
<run id="Exp01" defaultInstrumentConfigurationRef="LCQDeca" sampleRef="sample1" startTimeStamp="2007-06-27T15:23:45.00035" defaultSourceFileRef="sf1">
  <spectrumList count="4" defaultDataProcessingRef="pwizconversion">
    <spectrum index="0" id="scan=19" defaultArrayLength="15">
      <referenceableParamGroupRef ref="CommonMS1SpectrumParams"/>
      <cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="1"/>
      <cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value=""/>
      <cvParam cvRef="MS" accession="MS:1000528" name="lowest observed m/z" value="400.38999999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  ...
</run>
cvParam Mapping Rules: Path mzML/run
MAY supply a *child* term of MS:1000857 (run attribute) only once
  e.g.: MS:1000858 (fraction identifier)

Element <cv>

Definition: Information about an ontology or CV source and a short 'lookup' tag to refer to.
Type: dx:CVType
Attributes:
Attribute NameData TypeUseDefinition
URIxs:anyURIrequiredThe URI for the resource.
fullNamexs:stringrequiredThe usual name for the resource (e.g. The PSI-MS Controlled Vocabulary).
idxs:IDrequiredThe 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).
versionxs:stringoptionalThe version of the CV from which the referred-to terms are drawn.
Subelements: none
Example Context:
    <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="1.18.2" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>

Element <fileContent>

Definition: 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.
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<fileContent>
  <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value=""/>
  <userParam name="ProteoWizard" value="Thermo RAW data converted to mzML, with additional MIAPE parameters added for illustration"/>
</fileContent>
cvParam Mapping Rules: Path mzML/fileDescription/fileContent
MUST supply a *child* term of MS:1000524 (data file content) one or more times
  e.g.: MS:1000235 (total ion current chromatogram)
  e.g.: MS:1000235 (total ion current chromatogram)
  e.g.: MS:1000322 (charge inversion mass spectrum)
  e.g.: MS:1000322 (charge inversion mass spectrum)
  e.g.: MS:1000325 (constant neutral gain spectrum)
  e.g.: MS:1000325 (constant neutral gain spectrum)
  e.g.: MS:1000326 (constant neutral loss spectrum)
  e.g.: MS:1000326 (constant neutral loss spectrum)
  e.g.: MS:1000328 (e/2 mass spectrum)
  e.g.: MS:1000341 (precursor ion spectrum)
  et al.
MAY supply a *child* term of MS:1000525 (spectrum representation) only once
  e.g.: MS:1000127 (centroid spectrum)
  e.g.: MS:1000128 (profile spectrum)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000326" name="constant neutral loss spectrum"/>

Element <sourceFileList>

Definition: List and descriptions of the source files this mzML document was generated or derived from
Type: dx:SourceFileListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredNumber of source files used in generating the instance document.
Subelements:
Subelement NameminmaxDefinition
sourceFile1unlimDescription of the source file, including location and type.
Example Context:
    <sourceFileList count="11">
      <sourceFile id="SF1" name="ADH071030_002.3.152.1.dta" location="file:///C:/mzMLconverters/ADH071030_002">
        <cvParam cvRef="MS" accession="MS:1000613" name="DTA file"/>
        <cvParam cvRef="MS" accession="MS:1000568" name="MD5" value="c4989164dca142000644d2bce5dc571f"/>
        <cvParam cvRef="MS" accession="MS:1000776" name="scan number only nativeID format"/>
      </sourceFile>
      <sourceFile id="SF2" name="ADH071030_002.5.5.1.dta" location="file:///C:/mzMLconverters/ADH071030_002">
  ...
</sourceFileList>

Element <contact>

Definition: 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).
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<contact>
  <cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="William Pennington"/>
  <cvParam cvRef="MS" accession="MS:1000590" name="contact organization" value="Higglesworth University"/>
  <cvParam cvRef="MS" accession="MS:1000587" name="contact address" value="12 Higglesworth Avenue, 12045, HI, USA"/>
  <cvParam cvRef="MS" accession="MS:1000588" name="contact URL" value="http://www.higglesworth.edu/"/>
  <cvParam cvRef="MS" accession="MS:1000589" name="contact email" value="wpennington@higglesworth.edu"/>
</contact>
cvParam Mapping Rules: Path mzML/fileDescription/contact
MAY supply a *child* term of MS:1000585 (contact person attribute) one or more times
  e.g.: MS:1000586 (contact name)
  e.g.: MS:1000587 (contact address)
  e.g.: MS:1000588 (contact URL)
  e.g.: MS:1000589 (contact email)
  e.g.: MS:1000590 (contact organization)
MUST supply term MS:1000590 (contact organization)  only once
MUST supply term MS:1000586 (contact name)  only once
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="William Pennington"/>
<cvParam cvRef="MS" accession="MS:1000590" name="contact organization" value="Higglesworth University"/>
<cvParam cvRef="MS" accession="MS:1000587" name="contact address" value="12 Higglesworth Avenue, 12045, HI, USA"/>
<cvParam cvRef="MS" accession="MS:1000588" name="contact URL" value="http://www.higglesworth.edu/"/>
<cvParam cvRef="MS" accession="MS:1000589" name="contact email" value="wpennington@higglesworth.edu"/>

Element <referenceableParamGroup>

Definition: 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.
Type: dx:ReferenceableParamGroupType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredThe identifier with which to reference this ReferenceableParamGroup.
Subelements:
Subelement NameminmaxDefinition
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<referenceableParamGroup id="CommonActivationParams">
  <cvParam cvRef="MS" accession="MS:1000133" name="collision-induced dissociation" value=""/>
  <cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="35" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
  <cvParam cvRef="MS" accession="MS:1000419" name="collision gas" value="nitrogen"/>
</referenceableParamGroup>
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000130" name="positive scan" value=""/>
<cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000514" name="m/z array" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000523" name="64-bit float"/>
<cvParam cvRef="MS" accession="MS:1000576" name="no compression"/>
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
<cvParam cvRef="MS" accession="MS:1000516" name="charge array"/>
<cvParam cvRef="MS" accession="MS:1000448" name="LTQ FT" value=""/>
<cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="SN06061F"/>
<cvParam cvRef="MS" accession="MS:1000032" name="customization" value="none"/>
<cvParam cvRef="MS" accession="MS:1000133" name="collision-induced dissociation" value=""/>
<cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="35" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
<cvParam cvRef="MS" accession="MS:1000419" name="collision gas" value="nitrogen"/>

Element <sample>

Definition: Expansible description of the sample used to generate the dataset, named in sampleName.
Type: dx:SampleType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredA unique identifier across the samples with which to reference this sample description.
namexs:stringoptionalAn optional name for the sample description, mostly intended as a quick mnemonic.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<sample id="sample1" name="Sample 1">
</sample>
cvParam Mapping Rules: Path mzML/sampleList/sample
MAY supply a *child* term of GO:0005575 (cellular_component) one or more times
MAY supply a *child* term of BTO:0000000 (brenda source tissue ontology) one or more times
MAY supply a *child* term of PATO:0001241 (quality of an object) one or more times
MAY supply a *child* term of MS:1000548 (sample attribute) one or more times
  e.g.: MS:1000001 (sample number)
  e.g.: MS:1000004 (sample mass)
  e.g.: MS:1000005 (sample volume)
  e.g.: MS:1000006 (sample concentration)
  e.g.: MS:1000047 (emulsion)
  e.g.: MS:1000048 (gas)
  e.g.: MS:1000049 (liquid)
  e.g.: MS:1000050 (solid)
  e.g.: MS:1000051 (solution)
  e.g.: MS:1000052 (suspension)
  et al.

Element <software>

Definition: A piece of software.
Type: dx:SoftwareType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredAn identifier for this software that is unique across all SoftwareTypes.
versionxs:stringrequiredThe software version.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
    <software id="Proteios" version="SE 2.7.0 build 3250">
      <cvParam cvRef="MS" accession="MS:1000600" name="Proteios"/>
    </software>
cvParam Mapping Rules: Path mzML/softwareList/software
MUST supply a *child* term of MS:1000531 (software) only once
  e.g.: MS:1000532 (Xcalibur)
  e.g.: MS:1000532 (Xcalibur)
  e.g.: MS:1000532 (Xcalibur)
  e.g.: MS:1000532 (Xcalibur)
  e.g.: MS:1000533 (Bioworks)
  e.g.: MS:1000533 (Bioworks)
  e.g.: MS:1000533 (Bioworks)
  e.g.: MS:1000534 (MassLynx)
  e.g.: MS:1000534 (MassLynx)
  e.g.: MS:1000534 (MassLynx)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000533" name="Bioworks" value=""/>
<cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard" value=""/>
<cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>
<cvParam cvRef="MS" accession="MS:1000600" name="Proteios"/>
<cvParam cvRef="MS" accession="MS:1000534" name="Masslynx"/>
<cvParam cvRef="MS" accession="MS:1000601" name="ProteinLynx Global Server"/>

Element <scanSettings>

Definition: Description of the acquisition settings of the instrument prior to the start of the run.
Type: dx:ScanSettingsType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredA unique identifier for this acquisition setting.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
sourceFileRefList01List with the source files containing the acquisition settings.
targetList01Target list (or 'inclusion list') configured prior to the run.
Example Context:
<scanSettings id="as1">
  <sourceFileRefList count="1">
    <sourceFileRef ref="sf_parameters"/>
  </sourceFileRefList>
  <targetList count="2">
    <target>
      <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1000" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  ...
</scanSettings>

Element <instrumentConfiguration>

Definition: 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.
Type: dx:InstrumentConfigurationType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredAn identifier for this instrument configuration.
scanSettingsRefxs:IDREF-
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
componentList01List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified.
softwareRef01Reference to a previously defined software element
Example Context:
<instrumentConfiguration id="IC1">
  <referenceableParamGroupRef ref="CommonInstrumentParams"/>
  <componentList count="3">
    <source order="1">
      <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>
      <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>
      <cvParam cvRef="MS" accession="MS:1000486" name="source potential" value="4.20" unitCvRef="UO" unitAccession="UO:0000218" unitName="volt"/>
  ...
</instrumentConfiguration>
cvParam Mapping Rules: Path mzML/instrumentConfigurationList/instrumentConfiguration
MAY supply a *child* term of MS:1000487 (ion optics attribute) one or more times
  e.g.: MS:1000216 (field-free region)
  e.g.: MS:1000304 (accelerating voltage)
  e.g.: MS:1000308 (electric field strength)
  e.g.: MS:1000319 (space charge effect)
MAY supply a *child* term of MS:1000597 (ion optics type) only once
  e.g.: MS:1000221 (magnetic deflection)
  e.g.: MS:1000246 (delayed extraction)
  e.g.: MS:1000275 (collision quadrupole)
  e.g.: MS:1000281 (selected ion flow tube)
  e.g.: MS:1000286 (time lag focusing)
  e.g.: MS:1000300 (reflectron)
  e.g.: MS:1000307 (einzel lens)
  e.g.: MS:1000309 (first stability region)
  e.g.: MS:1000310 (fringing field)
  e.g.: MS:1000311 (kinetic energy analyzer)
  et al.
MAY supply a *child* term of MS:1000496 (instrument attribute) one or more times
  e.g.: MS:1000032 (customization)
  e.g.: MS:1000236 (transmission)
  e.g.: MS:1000529 (instrument serial number)
MUST supply term MS:1000031 (instrument model) or any of its children only once
  e.g.: MS:1000139 (4000 Q TRAP)
  e.g.: MS:1000140 (4700 Proteomics Analyzer)
  e.g.: MS:1000141 (APEX IV)
  e.g.: MS:1000142 (APEX-Q)
  e.g.: MS:1000143 (API 150EX)
  e.g.: MS:1000144 (API 150EX Prep)
  e.g.: MS:1000145 (API 2000)
  e.g.: MS:1000146 (API 3000)
  e.g.: MS:1000147 (API 4000)
  e.g.: MS:1000148 (autoFlex II)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000554" name="LCQ Deca" value=""/>
<cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="23433"/>
<cvParam cvRef="MS" accession="MS:1000169" name="LCQ Deca XP Plus"/>
<cvParam cvRef="MS" accession="MS:1000189" name="Q-Tof ultima"/>
<cvParam cvRef="MS" accession="MS:1000199" name="TSQ Quantum" value=""/>
Notes and Constraints: Note that an instrument model MUST be provided. If the vendor is known but the exact model is not known, then use the parent vendor term such as "Waters instrument model" (which indicates that it is known to be a Waters instrument, but not which one). If nothing at all is known about the instrument that produced the data, then use the top parent term "instrument model" (which is equivalent to stating that the data came from a child of "instrument model" {i.e. a mass spectrometer} but it is not known to the writer which one).

Element <dataProcessing>

Definition: Description of the way in which a particular software was used.
Type: dx:DataProcessingType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredA unique identifier for this data processing that is unique across all DataProcessingTypes.
Subelements:
Subelement NameminmaxDefinition
processingMethod1unlimDescription 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.
Example Context:
<dataProcessing id="MIAPE_example">
  <processingMethod order="1" softwareRef="pwiz">
    <cvParam cvRef="MS" accession="MS:1000033" name="deisotoping" value=""/>
    <cvParam cvRef="MS" accession="MS:1000034" name="charge deconvolution" value=""/>
    <cvParam cvRef="MS" accession="MS:1000035" name="peak picking" value=""/>
    <cvParam cvRef="MS" accession="MS:1000592" name="smoothing" value=""/>
    <cvParam cvRef="MS" accession="MS:1000593" name="baseline reduction" value=""/>
  ...
</dataProcessing>

Element <referenceableParamGroupRef>

Definition: A reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
Type: dx:ReferenceableParamGroupRefType
Attributes:
Attribute NameData TypeUseDefinition
refxs:IDREFrequiredReference to the id attribute in a referenceableParamGroup.
Subelements: none
Example Context:
<referenceableParamGroupRef ref="CommonMS1SpectrumParams"/>
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="1"/>
<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000528" name="lowest observed m/z" value="400.38999999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000527" name="highest observed m/z" value="1795.5599999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000504" name="base peak m/z" value="445.34699999999998" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000505" name="base peak intensity" value="120053" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="16675500"/>
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum" value=""/>

Element <cvParam>

Definition: This element holds additional data or annotation. Only controlled values are allowed here.
Type: dx:CVParamType
Attributes:
Attribute NameData TypeUseDefinition
accessionxs:stringrequiredThe accession number of the referred-to term in the named resource (e.g.: MS:000012).
cvRefxs:IDREFrequiredA reference to the CV 'id' attribute as defined in the cvList in this mzML file.
namexs:stringrequiredThe actual name for the parameter, from the referred-to controlled vocabulary. This should be the preferred name associated with the specified accession number.
unitAccessionxs:stringoptionalAn optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt').
unitCvRefxs:IDREFoptionalIf a unit term is referenced, this attribute MUST refer to the CV 'id' attribute defined in the cvList in this mzML file.
unitNamexs:stringoptionalAn optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ).
valuexs:stringoptionalThe 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).
Subelements: none
Example Context:
<cvParam cvRef="MS" accession="MS:1000505" name="base peak intensity" value="16020.6806640625" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>

Element <userParam>

Definition: 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
Type: dx:UserParamType
Attributes:
Attribute NameData TypeUseDefinition
namexs:stringrequiredThe name for the parameter.
typexs:stringoptionalThe datatype of the parameter, where appropriate (e.g.: xsd:float).
unitAccessionxs:stringoptionalAn optional CV accession number for the unit term associated with the value, if any (e.g., 'UO:0000266' for 'electron volt').
unitCvRefxs:IDREFoptionalIf a unit term is referenced, this attribute MUST refer to the CV 'id' attribute defined in the cvList in this mzML file.
unitNamexs:stringoptionalAn optional CV name for the unit accession number, if any (e.g., 'electron volt' for 'UO:0000266' ).
valuexs:stringoptionalThe value for the parameter, where appropriate.
Subelements: none
Example Context:
<userParam name="ProteoWizard" value="Thermo RAW data converted to mzML, with additional MIAPE parameters added for illustration"/>

Element <spectrumList>

Definition: All mass spectra and the acquisitions underlying them are described and attached here. Subsidiary data arrays are also both described and attached here.
Type: dx:SpectrumListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of spectra defined in this mzML file.
defaultDataProcessingRefxs:IDREFrequiredThis 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".
Subelements:
Subelement NameminmaxDefinition
spectrum0unlimThe 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).
Graphical Context:
Example Context:
<spectrumList count="4" defaultDataProcessingRef="pwizconversion">
  <spectrum index="0" id="scan=19" defaultArrayLength="15">
    <referenceableParamGroupRef ref="CommonMS1SpectrumParams"/>
    <cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="1"/>
    <cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value=""/>
    <cvParam cvRef="MS" accession="MS:1000528" name="lowest observed m/z" value="400.38999999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    <cvParam cvRef="MS" accession="MS:1000527" name="highest observed m/z" value="1795.5599999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  ...
</spectrumList>

Element <chromatogramList>

Definition: All chromatograms for this run.
Type: dx:ChromatogramListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of chromatograms defined in this mzML file.
defaultDataProcessingRefxs:IDREFrequiredThis 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".
Subelements:
Subelement NameminmaxDefinition
chromatogram1unlimA single chromatogram.
Graphical Context:
Example Context:
<chromatogramList count="2" defaultDataProcessingRef="pwizconversion">
  <chromatogram index="0" id="tic" defaultArrayLength="15" dataProcessingRef="XcaliburProcessing">
    <cvParam cvRef="MS" accession="MS:1000235" name="total ion current chromatogram" value=""/>
    <binaryDataArrayList count="2">
      <binaryDataArray encodedLength="160" dataProcessingRef="pwizconversion">
        <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
        <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/>
  ...
</chromatogramList>

Element <sourceFile>

Definition: Description of the source file, including location and type.
Type: dx:SourceFileType
Attributes:
Attribute NameData TypeUseDefinition
idxs:IDrequiredAn identifier for this file.
locationxs:anyURIrequiredURI-formatted location where the file was retrieved.
namexs:stringrequiredName of the source file, without reference to location (either URI or local path).
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
      <sourceFile id="SF2" name="plgs_example.plgs" location="file:///C:/mzMLconverters">
        <cvParam cvRef="MS" accession="MS:1000614" name="ProteinLynx Global Server mass spectrum XML file"/>
        <cvParam cvRef="MS" accession="MS:1000568" name="MD5" value="7a09cc8a55aaca14741ca0777658e496"/>
        <cvParam cvRef="MS" accession="MS:1000769" name="Waters nativeID format"/>
      </sourceFile>
cvParam Mapping Rules: Path mzML/fileDescription/sourceFileList/sourceFile
MUST supply a *child* term of MS:1000767 (native spectrum identifier format) only once
  e.g.: MS:1000768 (Thermo nativeID format)
  e.g.: MS:1000769 (Waters nativeID format)
  e.g.: MS:1000770 (WIFF nativeID format)
  e.g.: MS:1000771 (Bruker/Agilent YEP nativeID format)
  e.g.: MS:1000772 (Bruker BAF nativeID format)
  e.g.: MS:1000773 (Bruker FID nativeID format)
  e.g.: MS:1000774 (multiple peak list nativeID format)
  e.g.: MS:1000775 (single peak list nativeID format)
  e.g.: MS:1000776 (scan number only nativeID format)
  e.g.: MS:1000777 (spectrum identifier nativeID format)
  et al.
MUST supply a *child* term of MS:1000561 (data file checksum type) one or more times
  e.g.: MS:1000568 (MD5)
  e.g.: MS:1000569 (SHA-1)
MUST supply a *child* term of MS:1000560 (mass spectrometer file format) only once
  e.g.: MS:1000526 (Waters raw file)
  e.g.: MS:1000562 (ABI WIFF file)
  e.g.: MS:1000563 (Thermo RAW file)
  e.g.: MS:1000564 (PSI mzData file)
  e.g.: MS:1000565 (Micromass PKL file)
  e.g.: MS:1000566 (ISB mzXML file)
  e.g.: MS:1000567 (Bruker/Agilent YEP file)
  e.g.: MS:1000584 (mzML file)
  e.g.: MS:1000613 (DTA file)
  e.g.: MS:1000614 (ProteinLynx Global Server mass spectrum XML file)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW file" value=""/>
<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="71be39fb2700ab2f3c8b2234b91274968b6899b1"/>
<cvParam cvRef="MS" accession="MS:1000776" name="scan number only nativeID format" value=""/>
<cvParam cvRef="MS" accession="MS:1000740" name="parameter file" value=""/>
<cvParam cvRef="MS" accession="MS:1000824" name="no nativeID format" value=""/>
<cvParam cvRef="MS" accession="MS:1000613" name="DTA file"/>
<cvParam cvRef="MS" accession="MS:1000568" name="MD5" value="c4989164dca142000644d2bce5dc571f"/>
<cvParam cvRef="MS" accession="MS:1000526" name="Waters raw file"/>
<cvParam cvRef="MS" accession="MS:1000769" name="Waters nativeID format"/>
<cvParam cvRef="MS" accession="MS:1000614" name="ProteinLynx Global Server mass spectrum XML file"/>
<cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/>

Element <sourceFileRefList>

Definition: List with the source files containing the acquisition settings.
Type: dx:SourceFileRefListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThis number of source files referenced in this list.
Subelements:
Subelement NameminmaxDefinition
sourceFileRef0unlimReference to a previously defined sourceFile.
Graphical Context:
Example Context:
<sourceFileRefList count="1">
  <sourceFileRef ref="sf_parameters"/>
</sourceFileRefList>

Element <targetList>

Definition: Target list (or 'inclusion list') configured prior to the run.
Type: dx:TargetListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of TargetType elements in this list.
Subelements:
Subelement NameminmaxDefinition
target1unlimStructure 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).
Example Context:
<targetList count="2">
  <target>
    <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1000" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </target>
  <target>
    <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1200" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </target>
  ...
</targetList>

Element <componentList>

Definition: List with the different components used in the mass spectrometer. At least one source, one mass analyzer and one detector need to be specified.
Type: dx:ComponentListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of components in this list.
Subelements:
Subelement NameminmaxDefinition
source1unlimA source component.
analyzer1unlimA mass analyzer (or mass filter) component.
detector1unlimA detector component.
Example Context:
<componentList count="3">
  <source order="1">
    <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>
    <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>
    <cvParam cvRef="MS" accession="MS:1000486" name="source potential" value="4.20" unitCvRef="UO" unitAccession="UO:0000218" unitName="volt"/>
  </source>
  <analyzer order="2">
  ...
</componentList>

Element <softwareRef>

Definition: Reference to a previously defined software element
Type: dx:SoftwareRefType
Attributes:
Attribute NameData TypeUseDefinition
refxs:IDREFrequiredThis attribute MUST be used to reference the 'id' attribute of a software element.
Subelements: none
Example Context:
      <softwareRef ref="Xcalibur"/>

Element <processingMethod>

Definition: 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.
Type: dx:ProcessingMethodType
Attributes:
Attribute NameData TypeUseDefinition
orderxs:nonNegativeIntegerrequiredThis attributes allows a series of consecutive steps to be placed in the correct order.
softwareRefxs:IDREFrequiredThis attribute MUST reference the 'id' of the appropriate SoftwareType.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<processingMethod order="1" softwareRef="pwiz">
  <cvParam cvRef="MS" accession="MS:1000033" name="deisotoping" value=""/>
  <cvParam cvRef="MS" accession="MS:1000034" name="charge deconvolution" value=""/>
  <cvParam cvRef="MS" accession="MS:1000035" name="peak picking" value=""/>
  <cvParam cvRef="MS" accession="MS:1000592" name="smoothing" value=""/>
  <cvParam cvRef="MS" accession="MS:1000593" name="baseline reduction" value=""/>
  <userParam name="signal-to-noise estimation" value="none"/>
  ...
</processingMethod>
cvParam Mapping Rules: Path mzML/dataProcessingList/dataProcessing/processingMethod
MAY supply a *child* term of MS:1000630 (data processing parameter) one or more times
  e.g.: MS:1000629 (low intensity threshold)
  e.g.: MS:1000631 (high intensity threshold)
  e.g.: MS:1000747 (completion time)
  e.g.: MS:1000787 (inclusive low intensity threshold)
  e.g.: MS:1000788 (inclusive high intensity threshold)
MUST supply a *child* term of MS:1000452 (data transformation) one or more times
  e.g.: MS:1000033 (deisotoping)
  e.g.: MS:1000034 (charge deconvolution)
  e.g.: MS:1000544 (Conversion to mzML)
  e.g.: MS:1000545 (Conversion to mzXML)
  e.g.: MS:1000546 (Conversion to mzData)
  e.g.: MS:1000593 (baseline reduction)
  e.g.: MS:1000594 (low intensity data point removal)
  e.g.: MS:1000741 (Conversion to dta)
  e.g.: MS:1000745 (retention time alignment)
  e.g.: MS:1000746 (high intensity data point removal)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000033" name="deisotoping" value=""/>
<cvParam cvRef="MS" accession="MS:1000034" name="charge deconvolution" value=""/>
<cvParam cvRef="MS" accession="MS:1000035" name="peak picking" value=""/>
<cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML" value=""/>
<cvParam cvRef="MS" accession="MS:1000741" name="Conversion to dta"/>
<cvParam cvRef="MS" accession="MS:1000592" name="smoothing" value=""/>
<cvParam cvRef="MS" accession="MS:1000593" name="baseline reduction" value=""/>

Element <spectrum>

Definition: 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).
Type: dx:SpectrumType
Attributes:
Attribute NameData TypeUseDefinition
dataProcessingRefxs:IDREFoptionalThis attribute can optionally reference the 'id' of the appropriate dataProcessing.
defaultArrayLengthxs:intrequiredDefault length of binary data arrays contained in this element.
idxs:string (pattern: \S+=\S+( \S+=\S+)*)requiredThe 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.
indexxs:nonNegativeIntegerrequiredThe zero-based, consecutive index of the spectrum in the SpectrumList.
sourceFileRefxs:IDREFoptionalThis attribute can optionally reference the 'id' of the appropriate sourceFile.
spotIDxs:stringoptionalThe identifier for the spot from which this spectrum was derived, if a MALDI or similar run.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
scanList01List and descriptions of scans.
precursorList01List and descriptions of precursor isolations to the spectrum currently being described, ordered.
productList01List and descriptions of product isolations to the spectrum currently being described, ordered.
binaryDataArrayList01List of binary data arrays.
Graphical Context:
Example Context:
<spectrum index="3" id="scan=22" spotID="A1,42x42,4242x4242" defaultArrayLength="15">
  <referenceableParamGroupRef ref="CommonMS1SpectrumParams"/>
  <cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="1"/>
  <cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum" value=""/>
  <cvParam cvRef="MS" accession="MS:1000528" name="lowest observed m/z" value="142.38999999999999" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  <cvParam cvRef="MS" accession="MS:1000527" name="highest observed m/z" value="942.55999999999995" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  <cvParam cvRef="MS" accession="MS:1000504" name="base peak m/z" value="422.42000000000002" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  ...
</spectrum>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum
MAY supply a *child* term of MS:1000465 (scan polarity) only once
  e.g.: MS:1000129 (negative scan)
  e.g.: MS:1000130 (positive scan)
MUST supply a *child* term of MS:1000559 (spectrum type) only once
  e.g.: MS:1000322 (charge inversion mass spectrum)
  e.g.: MS:1000325 (constant neutral gain spectrum)
  e.g.: MS:1000326 (constant neutral loss spectrum)
  e.g.: MS:1000328 (e/2 mass spectrum)
  e.g.: MS:1000341 (precursor ion spectrum)
  e.g.: MS:1000581 (CRM spectrum)
  e.g.: MS:1000582 (SIM spectrum)
  e.g.: MS:1000583 (SRM spectrum)
  e.g.: MS:1000789 (enhanced multiply charged spectrum)
  e.g.: MS:1000790 (time-delayed fragmentation spectrum)
  et al.
MUST supply term MS:1000525 (spectrum representation) or any of its children only once
  e.g.: MS:1000127 (centroid spectrum)
  e.g.: MS:1000128 (profile spectrum)
MAY supply a *child* term of MS:1000499 (spectrum attribute) one or more times
  e.g.: MS:1000285 (total ion current)
  e.g.: MS:1000497 (zoom scan)
  e.g.: MS:1000504 (base peak m/z)
  e.g.: MS:1000505 (base peak intensity)
  e.g.: MS:1000511 (ms level)
  e.g.: MS:1000527 (highest observed m/z)
  e.g.: MS:1000528 (lowest observed m/z)
  e.g.: MS:1000618 (highest observed wavelength)
  e.g.: MS:1000619 (lowest observed wavelength)
  e.g.: MS:1000796 (spectrum title)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum"/>
<cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="2"/>
<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum"/>
<cvParam cvRef="MS" accession="MS:1000130" name="positive scan"/>
<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="1.0289517E7"/>
<cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum" value=""/>
<cvParam cvRef="MS" accession="MS:1000504" name="base peak m/z" value="810.415283203125" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000505" name="base peak intensity" value="1471973.875" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
<cvParam cvRef="MS" accession="MS:1000528" name="lowest observed m/z" value="200.00018816645022" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000527" name="highest observed m/z" value="2000.0099466203771" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000326" name="constant neutral loss spectrum"/>
Notes and Constraints: id's MUST be unique within a file as constrained by a primary key. The format MUST follow the native ID guidelines for mzML If a scan yields no peaks, it should still be reported, but with a defaultArrayLength of 0 and no <binaryDataArrayList> element.

Element <chromatogram>

Definition: A single chromatogram.
Type: dx:ChromatogramType
Attributes:
Attribute NameData TypeUseDefinition
dataProcessingRefxs:IDREFoptionalThis attribute can optionally reference the 'id' of the appropriate dataProcessing.
defaultArrayLengthxs:intrequiredDefault length of binary data arrays contained in this element.
idxs:stringrequiredA unique identifier for this chromatogram.
indexxs:nonNegativeIntegerrequiredThe zero-based index for this chromatogram in the chromatogram list.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
precursor01The method of precursor ion selection and activation
product01The method of product ion selection and activation in a precursor ion scan
binaryDataArrayList11List of binary data arrays.
Example Context:
<chromatogram index="0" id="tic" defaultArrayLength="15" dataProcessingRef="XcaliburProcessing">
  <cvParam cvRef="MS" accession="MS:1000235" name="total ion current chromatogram" value=""/>
  <binaryDataArrayList count="2">
    <binaryDataArray encodedLength="160" dataProcessingRef="pwizconversion">
      <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
      <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/>
      <cvParam cvRef="MS" accession="MS:1000595" name="time array" value="" unitCvRef="UO" unitAccession="UO:0000010" unitName="second"/>
  ...
</chromatogram>
cvParam Mapping Rules: Path mzML/run/chromatogramList/chromatogram
MAY supply a *child* term of MS:1000808 (chromatogram attribute) one or more times
  e.g.: MS:1000527 (highest observed m/z)
  e.g.: MS:1000528 (lowest observed m/z)
  e.g.: MS:1000618 (highest observed wavelength)
  e.g.: MS:1000619 (lowest observed wavelength)
  e.g.: MS:1000809 (chromatogram title)
MUST supply a *child* term of MS:1000626 (chromatogram type) only once
  e.g.: MS:1000235 (total ion current chromatogram)
  e.g.: MS:1000627 (selected ion current chromatogram)
  e.g.: MS:1000628 (basepeak chromatogram)
  e.g.: MS:1000812 (absorption chromatogram)
  e.g.: MS:1000813 (emission chromatogram)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000235" name="total ion current chromatogram" value=""/>

Element <sourceFileRef>

Definition: Reference to a previously defined sourceFile.
Type: dx:SourceFileRefType
Attributes:
Attribute NameData TypeUseDefinition
refxs:IDREFrequiredThis attribute MUST reference the 'id' of the appropriate sourceFile.
Subelements: none
Example Context:
<sourceFileRef ref="sf_parameters"/>

Element <target>

Definition: 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).
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<target>
  <userParam name="precursorMz" value="123.456"/>
  <userParam name="fragmentMz" value="456.789"/>
  <userParam name="dwell time" value="1" type="seconds"/>
  <userParam name="active time" value="0.5" type="seconds"/>
</target>
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1000" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>

Element <source>

Definition: A source component.
Type: dx:SourceComponentType
Attributes:
Attribute NameData TypeUseDefinition
orderxs:intrequiredThis 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).
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<source order="1">
  <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>
  <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>
  <cvParam cvRef="MS" accession="MS:1000486" name="source potential" value="4.20" unitCvRef="UO" unitAccession="UO:0000218" unitName="volt"/>
</source>
cvParam Mapping Rules: Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/source
MAY supply a *child* term of MS:1000482 (source attribute) one or more times
  e.g.: MS:1000392 (ionization efficiency)
  e.g.: MS:1000486 (source potential)
  e.g.: MS:1000843 (wavelength)
  e.g.: MS:1000844 (focus diameter x)
  e.g.: MS:1000845 (focus diameter y)
  e.g.: MS:1000846 (pulse energy)
  e.g.: MS:1000847 (pulse duration)
  e.g.: MS:1000848 (attenuation)
  e.g.: MS:1000849 (impact angle)
  e.g.: MS:1000850 (gas laser)
  et al.
MUST supply term MS:1000008 (ionization type) or any of its children only once
  e.g.: MS:1000070 (atmospheric pressure chemical ionization)
  e.g.: MS:1000071 (chemical ionization)
  e.g.: MS:1000074 (fast atom bombardment ionization)
  e.g.: MS:1000075 (matrix-assisted laser desorption ionization)
  e.g.: MS:1000227 (multiphoton ionization)
  e.g.: MS:1000239 (atmospheric pressure matrix-assisted laser desorption ionization)
  e.g.: MS:1000255 (flowing afterglow)
  e.g.: MS:1000257 (field desorption)
  e.g.: MS:1000258 (field ionization)
  e.g.: MS:1000259 (glow discharge ionization)
  et al.
MAY supply a *child* term of MS:1000007 (inlet type) only once
  e.g.: MS:1000055 (continuous flow fast atom bombardment)
  e.g.: MS:1000056 (direct inlet)
  e.g.: MS:1000058 (flow injection analysis)
  e.g.: MS:1000059 (inductively coupled plasma)
  e.g.: MS:1000060 (infusion)
  e.g.: MS:1000061 (jet separator)
  e.g.: MS:1000062 (membrane separator)
  e.g.: MS:1000063 (moving belt)
  e.g.: MS:1000064 (moving wire)
  e.g.: MS:1000065 (open split)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value=""/>
<cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>
<cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>
<cvParam cvRef="MS" accession="MS:1000486" name="source potential" value="4.20" unitCvRef="UO" unitAccession="UO:0000218" unitName="volt"/>

Element <analyzer>

Definition: A mass analyzer (or mass filter) component.
Type: dx:AnalyzerComponentType
Attributes:
Attribute NameData TypeUseDefinition
orderxs:intrequiredThis 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).
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<analyzer order="2">
  <cvParam cvRef="MS" accession="MS:1000079" name="fourier transform ion cyclotron resonance mass spectrometer" value=""/>
</analyzer>
cvParam Mapping Rules: Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/analyzer
MAY supply a *child* term of MS:1000480 (mass analyzer attribute) one or more times
  e.g.: MS:1000014 (accuracy)
  e.g.: MS:1000022 (TOF Total Path Length)
  e.g.: MS:1000024 (final MS exponent)
  e.g.: MS:1000025 (magnetic field strength)
  e.g.: MS:1000105 (reflectron off)
  e.g.: MS:1000106 (reflectron on)
MUST supply term MS:1000443 (mass analyzer type) or any of its children only once
  e.g.: MS:1000078 (axial ejection linear ion trap)
  e.g.: MS:1000079 (fourier transform ion cyclotron resonance mass spectrometer)
  e.g.: MS:1000080 (magnetic sector)
  e.g.: MS:1000081 (quadrupole)
  e.g.: MS:1000082 (quadrupole ion trap)
  e.g.: MS:1000083 (radial ejection linear ion trap)
  e.g.: MS:1000084 (time-of-flight)
  e.g.: MS:1000254 (electrostatic energy analyzer)
  e.g.: MS:1000284 (stored waveform inverse fourier transform)
  e.g.: MS:1000288 (cyclotron)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000082" name="quadrupole ion trap" value=""/>
<cvParam cvRef="MS" accession="MS:1000081" name="quadrupole"/>
<cvParam cvRef="MS" accession="MS:1000084" name="time-of-flight"/>
<cvParam cvRef="MS" accession="MS:1000079" name="fourier transform ion cyclotron resonance mass spectrometer" value=""/>
<cvParam cvRef="MS" accession="MS:1000083" name="radial ejection linear ion trap" value=""/>

Element <detector>

Definition: A detector component.
Type: dx:DetectorComponentType
Attributes:
Attribute NameData TypeUseDefinition
orderxs:intrequiredThis 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).
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
        <detector order="4">
          <cvParam cvRef="MS" accession="MS:1000114" name="microchannel plate detector"/>
        </detector>
cvParam Mapping Rules: Path mzML/instrumentConfigurationList/instrumentConfiguration/componentList/detector
MUST supply term MS:1000026 (detector type) or any of its children only once
  e.g.: MS:1000107 (channeltron)
  e.g.: MS:1000108 (conversion dynode electron multiplier)
  e.g.: MS:1000109 (conversion dynode photomultiplier)
  e.g.: MS:1000110 (daly detector)
  e.g.: MS:1000111 (electron multiplier tube)
  e.g.: MS:1000112 (faraday cup)
  e.g.: MS:1000113 (focal plane array)
  e.g.: MS:1000114 (microchannel plate detector)
  e.g.: MS:1000115 (multi-collector)
  e.g.: MS:1000116 (photomultiplier)
  et al.
MAY supply a *child* term of MS:1000481 (detector attribute) one or more times
  e.g.: MS:1000028 (detector resolution)
  e.g.: MS:1000029 (sampling frequency)
MAY supply a *child* term of MS:1000027 (detector acquisition mode) one or more times
  e.g.: MS:1000117 (analog-digital converter)
  e.g.: MS:1000118 (pulse counting)
  e.g.: MS:1000119 (time-digital converter)
  e.g.: MS:1000120 (transient recorder)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000253" name="electron multiplier" value=""/>
<cvParam cvRef="MS" accession="MS:1000114" name="microchannel plate detector"/>
<cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value=""/>

Element <scanList>

Definition: List and descriptions of scans.
Type: dx:ScanListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredthe number of scans defined in this list.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
scan1unlimScan or acquisition from original raw file used to create this peak list, as specified in sourceFile.
Graphical Context:
Example Context:
<scanList count="1">
  <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/>
  <scan instrumentConfigurationRef="IC2">
    <cvParam cvRef="MS" accession="MS:1000016" name="scan start time" value="0.011218333333333334" unitCvRef="UO" unitAccession="UO:0000031" unitName="minute"/>
    <cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="ITMS + c ESI d Full ms2 810.79@cid35.00 [210.00-1635.00]"/>
    <cvParam cvRef="MS" accession="MS:1000616" name="preset scan configuration" value="3"/>
    <userParam name="[Thermo Trailer Extra]Monoisotopic M/Z:" value="0" type="xsd:float"/>
  ...
</scanList>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum/scanList
MUST supply a *child* term of MS:1000570 (spectra combination) only once
  e.g.: MS:1000571 (sum of spectra)
  e.g.: MS:1000573 (median of spectra)
  e.g.: MS:1000575 (mean of spectra)
  e.g.: MS:1000795 (no combination)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/>
<cvParam cvRef="MS" accession="MS:1000571" name="sum of spectra"/>

Element <precursorList>

Definition: List and descriptions of precursor isolations to the spectrum currently being described, ordered.
Type: dx:PrecursorListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of precursor isolations in this list.
Subelements:
Subelement NameminmaxDefinition
precursor1unlimThe method of precursor ion selection and activation
Graphical Context:
Example Context:
<precursorList count="1">
  <precursor spectrumRef="controllerType=0 controllerNumber=1 scan=16">
    <isolationWindow>
      <cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="811.40999999999997" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
      <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
      <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    </isolationWindow>
  ...
</precursorList>

Element <productList>

Definition: List and descriptions of product isolations to the spectrum currently being described, ordered.
Type: dx:ProductListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of product isolations in this list.
Subelements:
Subelement NameminmaxDefinition
product1unlimThe method of product ion selection and activation in a precursor ion scan
Graphical Context:
Example Context:
<productList count="1">
 <product>
  <isolationWindow>
   <!-- Q3 transmission window -->
   <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="1.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
   <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="1.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </isolationWindow>              
  ...
</productList>

Element <binaryDataArrayList>

Definition: List of binary data arrays.
Type: dx:BinaryDataArrayListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of binary data arrays defined in this list.
Subelements:
Subelement NameminmaxDefinition
binaryDataArray2unlimData 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'.
Graphical Context:
Example Context:
<binaryDataArrayList count="2">
  <binaryDataArray encodedLength="160" dataProcessingRef="XcaliburProcessing">
    <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
    <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/>
    <cvParam cvRef="MS" accession="MS:1000514" name="m/z array" value="" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    <binary>AAAAAAAAAAAAAAAAAADwPwAAAAAAAABAAAAAAAAACEAAAAAAAA...</binary>
  </binaryDataArray>
  ...
</binaryDataArrayList>

Element <precursor>

Definition: The method of precursor ion selection and activation
Type: dx:PrecursorType
Attributes:
Attribute NameData TypeUseDefinition
externalSpectrumIDxs:stringoptionalFor 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'.
sourceFileRefxs:IDREFoptionalFor precursor spectra that are external to this document, this attribute MUST reference the 'id' attribute of a sourceFile representing that external document.
spectrumRefxs:stringoptionalFor 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.
Subelements:
Subelement NameminmaxDefinition
isolationWindow01This element captures the isolation (or 'selection') window configured to isolate one or more ions.
selectedIonList01A list of ions that were selected.
activation11The type and energy level used for activation.
Example Context:
<precursor spectrumRef="controllerType=0 controllerNumber=1 scan=16">
  <isolationWindow>
    <cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="811.40999999999997" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </isolationWindow>
  <selectedIonList count="1">
  ...
</precursor>

Element <product>

Definition: The method of product ion selection and activation in a precursor ion scan
Type: dx:ProductType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
isolationWindow01This element captures the isolation (or 'selection') window configured to isolate one or more ions.
Example Context:
 <product>
  <isolationWindow>
   <!-- Q3 transmission window -->
   <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="1.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
   <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="1.0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </isolationWindow>              
 </product>

Element <scan>

Definition: Scan or acquisition from original raw file used to create this peak list, as specified in sourceFile.
Type: dx:ScanType
Attributes:
Attribute NameData TypeUseDefinition
externalSpectrumIDxs:stringoptionalFor 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'.
instrumentConfigurationRefxs:IDREFoptionalThis attribute can optionally reference the 'id' attribute of the appropriate instrument configuration.
sourceFileRefxs:IDREFoptionalIf this attribute is set, it MUST reference the 'id' attribute of a sourceFile representing the external document containing the spectrum referred to by 'externalSpectrumID'.
spectrumRefxs:stringoptionalFor scans that are local to this document, this attribute can be used to reference the 'id' attribute of the spectrum corresponding to the scan.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
scanWindowList01Container for a list of scan windows.
Example Context:
<scan instrumentConfigurationRef="LCQDeca">
  <cvParam cvRef="MS" accession="MS:1000016" name="scan start time" value="42.049999999999997" unitCvRef="UO" unitAccession="UO:0000010" unitName="second"/>
  <cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="+ c MALDI Full ms [100.00-1000.00]"/>
  <scanWindowList count="1">
    <scanWindow>
      <cvParam cvRef="MS" accession="MS:1000501" name="scan window lower limit" value="100" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
      <cvParam cvRef="MS" accession="MS:1000500" name="scan window upper limit" value="1000" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  ...
</scan>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum/scanList/scan
MAY supply a *child* term of MS:1000503 (scan attribute) one or more times
  e.g.: MS:1000011 (mass resolution)
  e.g.: MS:1000015 (scan rate)
  e.g.: MS:1000016 (scan start time)
  e.g.: MS:1000502 (dwell time)
  e.g.: MS:1000512 (filter string)
  e.g.: MS:1000616 (preset scan configuration)
  e.g.: MS:1000800 (mass resolving power)
  e.g.: MS:1000803 (analyzer scan offset)
  e.g.: MS:1000826 (elution time)
  e.g.: MS:1000880 (interchannel delay)
MAY supply a *child* term of MS:1000018 (scan direction) only once
  e.g.: MS:1000092 (decreasing m/z scan)
  e.g.: MS:1000093 (increasing m/z scan)
MAY supply a *child* term of MS:1000019 (scan law) only once
  e.g.: MS:1000094 (exponential)
  e.g.: MS:1000095 (linear)
  e.g.: MS:1000096 (quadratic)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000016" name="scan start time" value="5.8905000000000003" unitCvRef="UO" unitAccession="UO:0000031" unitName="minute"/>
<cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="+ c NSI Full ms [ 400.00-1800.00]"/>
<cvParam cvRef="MS" accession="MS:1000616" name="preset scan configuration" value="3"/>
<cvParam cvRef="MS" accession="MS:1000803" name="analyzer scan offset" value="80" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>

Element <binaryDataArray>

Definition: 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'.
Type: dx:BinaryDataArrayType
Attributes:
Attribute NameData TypeUseDefinition
arrayLengthxs:nonNegativeIntegeroptionalThis 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.
dataProcessingRefxs:IDREFoptionalThis optional attribute may reference the 'id' attribute of the appropriate dataProcessing.
encodedLengthxs:nonNegativeIntegerrequiredThe encoded length of the binary data array.
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
binary11The actual base64 encoded binary data. The byte order is always 'little endian'.
Example Context:
<binaryDataArray encodedLength="160" dataProcessingRef="XcaliburProcessing">
  <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
  <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/>
  <cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
  <binary>AAAAAAAALkAAAAAAAAAsQAAAAAAAACpAAAAAAAAAKEAAAAAAAA...</binary>
</binaryDataArray>
cvParam Mapping Rules: Path mzML/run/chromatogramList/chromatogram/binaryDataArrayList/binaryDataArray
MUST supply a *child* term of MS:1000572 (binary data compression type) only once
  e.g.: MS:1000574 (zlib compression)
  e.g.: MS:1000576 (no compression)
MUST supply a *child* term of MS:1000513 (binary data array) only once
  e.g.: MS:1000514 (m/z array)
  e.g.: MS:1000515 (intensity array)
  e.g.: MS:1000516 (charge array)
  e.g.: MS:1000517 (signal to noise array)
  e.g.: MS:1000595 (time array)
  e.g.: MS:1000617 (wavelength array)
  e.g.: MS:1000786 (non-standard data array)
  e.g.: MS:1000820 (flow rate array)
  e.g.: MS:1000821 (pressure array)
  e.g.: MS:1000822 (temperature array)
MUST supply a *child* term of MS:1000518 (binary data type) only once
  e.g.: MS:1000521 (32-bit float)
  e.g.: MS:1000523 (64-bit float)
Path mzML/run/spectrumList/spectrum/binaryDataArrayList/binaryDataArray
MUST supply a *child* term of MS:1000572 (binary data compression type) only once
  e.g.: MS:1000574 (zlib compression)
  e.g.: MS:1000576 (no compression)
MUST supply a *child* term of MS:1000513 (binary data array) only once
  e.g.: MS:1000514 (m/z array)
  e.g.: MS:1000515 (intensity array)
  e.g.: MS:1000516 (charge array)
  e.g.: MS:1000517 (signal to noise array)
  e.g.: MS:1000595 (time array)
  e.g.: MS:1000617 (wavelength array)
  e.g.: MS:1000786 (non-standard data array)
  e.g.: MS:1000820 (flow rate array)
  e.g.: MS:1000821 (pressure array)
  e.g.: MS:1000822 (temperature array)
MUST supply a *child* term of MS:1000518 (binary data type) only once
  e.g.: MS:1000521 (32-bit float)
  e.g.: MS:1000523 (64-bit float)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value=""/>
<cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/>
<cvParam cvRef="MS" accession="MS:1000514" name="m/z array" value="" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>
<cvParam cvRef="MS" accession="MS:1000595" name="time array" value="" unitCvRef="UO" unitAccession="UO:0000010" unitName="second"/>
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>
<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value=""/>
Notes and Constraints: The arrayLength attribute need only be specified if it is different from the defaultArrayLength specified in the <spectrum> element.

Element <isolationWindow>

Definition: This element captures the isolation (or 'selection') window configured to isolate one or more ions.
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<isolationWindow>
  <cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="445.30000000000001" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
</isolationWindow>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum/precursorList/precursor/isolationWindow
MUST supply a *child* term of MS:1000792 (isolation window attribute) one or more times
  e.g.: MS:1000827 (isolation window target m/z)
  e.g.: MS:1000828 (isolation window lower offset)
  e.g.: MS:1000829 (isolation window upper offset)
Path mzML/run/spectrumList/spectrum/productList/product/isolationWindow
MUST supply a *child* term of MS:1000792 (isolation window attribute) one or more times
  e.g.: MS:1000827 (isolation window target m/z)
  e.g.: MS:1000828 (isolation window lower offset)
  e.g.: MS:1000829 (isolation window upper offset)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="445.30000000000001" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.5" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>

Element <selectedIonList>

Definition: A list of ions that were selected.
Type: dx:SelectedIonListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:nonNegativeIntegerrequiredThe number of selected precursor ions defined in this list.
Subelements:
Subelement NameminmaxDefinition
selectedIon1unlimStructure 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).
Example Context:
            <selectedIonList count="1">
              <selectedIon>
                <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1082.5037" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
                <cvParam cvRef="MS" accession="MS:1000633" name="possible charge state" value="2"/>
                <cvParam cvRef="MS" accession="MS:1000633" name="possible charge state" value="3"/>
              </selectedIon>
            </selectedIonList>

Element <activation>

Definition: The type and energy level used for activation.
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
<activation>
  <cvParam cvRef="MS" accession="MS:1000133" name="collision-induced dissociation" value=""/>
  <cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="35" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
</activation>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum/precursorList/precursor/activation
MAY supply a *child* term of MS:1000510 (precursor activation attribute) one or more times
  e.g.: MS:1000045 (collision energy)
  e.g.: MS:1000138 (percent collision energy)
  e.g.: MS:1000245 (charge stripping)
  e.g.: MS:1000412 (buffer gas)
  e.g.: MS:1000419 (collision gas)
  e.g.: MS:1000509 (activation energy)
  e.g.: MS:1000869 (collision gas pressure)
MUST supply term MS:1000044 (dissociation method) or any of its children one or more times
  e.g.: MS:1000133 (collision-induced dissociation)
  e.g.: MS:1000134 (plasma desorption)
  e.g.: MS:1000135 (post-source decay)
  e.g.: MS:1000136 (surface-induced dissociation)
  e.g.: MS:1000242 (blackbody infrared radiative dissociation)
  e.g.: MS:1000250 (electron capture dissociation)
  e.g.: MS:1000262 (infrared multiphoton dissociation)
  e.g.: MS:1000282 (sustained off-resonance irradiation)
  e.g.: MS:1000422 (high-energy collision-induced dissociation)
  e.g.: MS:1000433 (low-energy collision-induced dissociation)
  et al.
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000133" name="collision-induced dissociation" value=""/>
<cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="35" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
<cvParam cvRef="MS" accession="MS:1000044" name="dissociation method"/>

Element <scanWindowList>

Definition: Container for a list of scan windows.
Type: dx:ScanWindowListType
Attributes:
Attribute NameData TypeUseDefinition
countxs:intrequiredThe number of scan windows defined in this list.
Subelements: none
Example Context:
<scanWindowList count="1">
  <scanWindow>
    <cvParam cvRef="MS" accession="MS:1000501" name="scan window lower limit" value="400" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
    <cvParam cvRef="MS" accession="MS:1000500" name="scan window upper limit" value="1800" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
  </scanWindow>
</scanWindowList>

Element <binary>

Definition: The actual base64 encoded binary data. The byte order is always 'little endian'.
Type: xs:base64Binary
Attributes: none
Subelements: none
Example Context:
<binary></binary>

Element <selectedIon>

Definition: 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).
Type: dx:ParamGroupType
Attributes: none
Subelements:
Subelement NameminmaxDefinition
referenceableParamGroupRef0unlimA reference to a previously defined ParamGroup, which is a reusable container of one or more cvParams.
cvParam0unlimThis element holds additional data or annotation. Only controlled values are allowed here.
userParam0unlimUncontrolled 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
Example Context:
              <selectedIon>
                <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="1082.5037" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
                <cvParam cvRef="MS" accession="MS:1000633" name="possible charge state" value="2"/>
                <cvParam cvRef="MS" accession="MS:1000633" name="possible charge state" value="3"/>
              </selectedIon>
cvParam Mapping Rules: Path mzML/run/spectrumList/spectrum/precursorList/precursor/selectedIonList/selectedIon
MUST supply a *child* term of MS:1000455 (ion selection attribute) one or more times
  e.g.: MS:1000041 (charge state)
  e.g.: MS:1000042 (intensity)
  e.g.: MS:1000633 (possible charge state)
  e.g.: MS:1000744 (selected ion m/z)
Example cvParams:
<cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="445.33999999999997" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
<cvParam cvRef="MS" accession="MS:1000042" name="intensity" value="120053"/>
<cvParam cvRef="MS" accession="MS:1000041" name="charge state" value="2"/>
<cvParam cvRef="MS" accession="MS:1000633" name="possible charge state" value="2"/>