| source |
<xs:element name="msRun">
<xs:complexType>
<xs:sequence>
<xs:element name="parentFile" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Path to all the ancestor files (up to the native acquisition file) used to generate the current XML instance document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anySimpleType">
<xs:attribute name="fileName" type="xs:anyURI" use="required">
<xs:annotation>
<xs:documentation>Name of the parent file</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileType" use="required">
<xs:annotation>
<xs:documentation>Was the parent file a native acquisition file? Or was it processed data?</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="RAWData"/>
<xs:enumeration value="processedData"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="fileSha1" use="required">
<xs:annotation>
<xs:documentation>sha-1 sum of the parent file</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:key name="parentFileKey">
<xs:selector xpath="."/>
<xs:field xpath="@fileSha1"/>
</xs:key>
</xs:element>
<xs:element name="msInstrument" minOccurs="0">
<xs:annotation>
<xs:documentation>General information about the MS instrument.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="msManufacturer">
<xs:complexType>
<xs:complexContent>
<xs:extension base="cff:ontologyEntryType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="msModel" type="cff:ontologyEntryType"/>
<xs:element name="msIonisation" type="cff:ontologyEntryType"/>
<xs:element name="msMassAnalyzer">
<xs:complexType>
<xs:complexContent>
<xs:extension base="cff:ontologyEntryType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="msDetector" type="cff:ontologyEntryType"/>
<xs:element ref="cff:software"/>
<xs:element name="msResolution" type="cff:ontologyEntryType" minOccurs="0"/>
<xs:element ref="cff:operator" minOccurs="0"/>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="nameValue" type="cff:namevalueType">
<xs:annotation>
<xs:documentation>Any additional property of the instrument not included elsewhere in the instrument element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="comment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Additional comments.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dataProcessing" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description of any manipulation (from the first conversion to mzXML format until the creation of the current mzXML instance document) applied to the data.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="cff:software">
<xs:annotation>
<xs:documentation>Software used to convert the data. If data has been processed (e.g. profile > centroid) by any additional progs these should be added too.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="processingOperation" type="cff:namevalueType">
<xs:annotation>
<xs:documentation>Any additional manipulation not included elsewhere in the dataProcessing element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="comment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Additional comments</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:sequence>
<xs:attribute name="intensityCutoff" type="xs:float" use="optional">
<xs:annotation>
<xs:documentation>Intensity threshold for including a peak in the XML output</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="centroided" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Is the data centroided</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deisotoped" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Is the data deisotoped</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="chargeDeconvoluted" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Has the charge state been deconvoluted</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spotIntegration" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="separation" minOccurs="0">
<xs:annotation>
<xs:documentation>Information about the separation technique, if any, used right before the acquisition.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="cff:separationTechnique" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="spotting" minOccurs="0">
<xs:annotation>
<xs:documentation>Acquisition independent properties of a MALDI experiment.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="plate" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Information about a MALDI plate.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="plateManufacturer" type="cff:ontologyEntryType"/>
<xs:element name="plateModel" type="cff:ontologyEntryType"/>
<xs:element name="pattern" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="spottingPattern" type="cff:ontologyEntryType"/>
<xs:element name="orientation">
<xs:annotation>
<xs:documentation>Defines the orientation of the spotting pattern, with the IDs of the fist two consecutive spotted spots.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="firstSpotID" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>ID of the first spot spotted using "spottingPattern". This ID must have been defined also in the spot element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="secondSpotID" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>ID of the second spot spotted using "spottingPattern". This ID must have been defined also in the spot element.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:keyref name="onlyValidFirstSpotID" refer="cff:spotKey">
<xs:selector xpath="."/>
<xs:field xpath="@spotID"/>
</xs:keyref>
<xs:keyref name="onlyValidSecondSpotID" refer="cff:spotKey">
<xs:selector xpath="."/>
<xs:field xpath="@spotID"/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="spot" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Information about individual spots.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="maldiMatrix" type="cff:ontologyEntryType"/>
</xs:sequence>
<xs:attribute name="spotID" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the spot.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spotXPosition" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>X cartesian position of the spot.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spotYPosition" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Y cartesian position of the spot.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spotDiameter" type="xs:positiveInteger" use="optional"/>
</xs:complexType>
<xs:key name="spotKey">
<xs:selector xpath="."/>
<xs:field xpath="@spotID"/>
</xs:key>
</xs:element>
</xs:sequence>
<xs:attribute name="plateID" type="xs:positiveInteger" use="required">
<xs:annotation>
<xs:documentation>Unique identifier for the plate.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="spotXCount" type="xs:positiveInteger" use="required"/>
<xs:attribute name="spotYCount" type="xs:positiveInteger" use="required"/>
</xs:complexType>
<xs:key name="plateKey">
<xs:selector xpath="."/>
<xs:field xpath="@plateID"/>
</xs:key>
</xs:element>
<xs:element name="robot" minOccurs="0">
<xs:annotation>
<xs:documentation>Information about the robot, if any, used to spot the plates.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="robotManufacturer" type="cff:ontologyEntryType"/>
<xs:element name="robotModel" type="cff:ontologyEntryType"/>
</xs:sequence>
<xs:attribute name="timePerSpot" type="xs:duration" use="required"/>
<xs:attribute name="deadVolume" type="xs:nonNegativeInteger" use="optional">
<xs:annotation>
<xs:documentation>Dead volume in ul of the spotting robot.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="cff:scan" maxOccurs="unbounded"/>
<xs:element name="sha1" minOccurs="0">
<xs:annotation>
<xs:documentation>sha-1 sum for this file (from the beginning of the file up to (and including) the opening tag of sha1</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="scanCount" type="xs:positiveInteger" use="optional">
<xs:annotation>
<xs:documentation>Total number of scans contained in the XML instance document. This number should be equal to the total number of scans in the original RAW data, unless some were not converted (e.g.: signal below threshold)..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="startTime" type="xs:duration" use="optional">
<xs:annotation>
<xs:documentation |