<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:element name="AltusA30PDASpectrum">
		<xsd:complexType>
			<xsd:all>
				<xsd:element name="Name" type="xsd:string"/>
				<xsd:element name="Comment" type="xsd:string"/>
				<xsd:element name="Instrument" type="tInstrument"/>
				<xsd:element name="Calibration" type="tCalibration"/>
				<xsd:element name="AcquisitionParameters" type="tAcquisitionParameters"/>
				<xsd:element name="Spectra" type="tSpectra"/>
			</xsd:all>
			<xsd:attribute name="version" type="xsd:int" use="optional" default="1"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:simpleType name="tExposureTime">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="3"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tSamplingRate">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="3"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tResolution">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tFilterTime">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="3"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tLambda">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tLampHours">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tRetentionTime">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tEnergy">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="0"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tWavelength">
		<xsd:restriction base="xsd:float">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tWavelengthLimit">
		<xsd:restriction base="xsd:int"/>
	</xsd:simpleType>
	<xsd:simpleType name="tPointCount">
		<xsd:restriction base="xsd:int"/>
	</xsd:simpleType>
	<xsd:simpleType name="tCalibrationType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Unknown" id="CalType_0"/>
			<xsd:enumeration value="Mercury" id="CalType_1"/>
			<xsd:enumeration value="Erbium" id="CalType_2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="tInstrument">
		<xsd:sequence>
			<xsd:element name="Model" type="xsd:string"/>
			<xsd:element name="Firmware" type="xsd:string"/>
			<xsd:element name="SerialNumber" type="xsd:string"/>
			<xsd:element name="LampSN" type="xsd:string"/>
			<xsd:element name="LampHours" type="tLampHours">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="hours"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tCalibration">
		<xsd:sequence>
			<xsd:element name="Lambda1" type="tLambda">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="nm"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Lambda512" type="tLambda">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="nm"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="CalibrationType" type="tCalibrationType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tAcquisitionParameters">
		<xsd:sequence>
			<xsd:element name="ExposureTime" type="tExposureTime">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="ms"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="SamplingRate" type="tSamplingRate">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="pps"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Resolution" type="tResolution">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="nm"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="FilterTime" type="tFilterTime">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="s"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="StartWavelength" type="tWavelengthLimit">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="nm"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="EndWavelength" type="tWavelengthLimit">
				<xsd:annotation>
					<xsd:appinfo>
						<xsd:has-property name="Units" value="nm"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="XUnits" type="xsd:string" minOccurs="0"/>
			<xsd:element name="YUnits" type="xsd:string"/>
			<xsd:element name="ZUnits" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="t2DPoint">
		<xsd:sequence>
			<xsd:element name="Y" type="tEnergy"/>
			<xsd:element name="Z" type="tWavelength"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tData2D">
		<xsd:sequence>
			<xsd:element name="NumberOf2DPoints" type="tPointCount"/>
			<xsd:element name="Point" type="t2DPoint" maxOccurs="512"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tPoint3D">
		<xsd:sequence>
			<xsd:element name="X" type="tRetentionTime" minOccurs="0"/>
			<xsd:element name="Data" type="tData2D"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tSpectra">
		<xsd:sequence>
			<xsd:element name="NumberOf3DPoints" type="tPointCount"/>
			<xsd:element name="Point3D" type="tPoint3D" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
