<?xml version="1.0"?>
<xs:schema
xmlns:xlum="http://xlum.r-luminescence.org"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="curve">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="component" use="required"/>
<xs:attribute type="xs:dateTime" name="startDate" use="required"/>
<xs:attribute name="curveType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="measured"/>
<xs:enumeration value="predefined"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:double" name="duration" use="required"/>
<xs:attribute type="xs:double" name="offset" use="required"/>
<xs:attribute name="xValues" use="required">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="yValues" use="required">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tValues" use="required">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:double">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="xLabel" use="required"/>
<xs:attribute type="xs:string" name="yLabel" use="required"/>
<xs:attribute type="xs:string" name="tLabel" use="required"/>
<xs:attribute type="xs:string" name="vLabel" use="required"/>
<xs:attribute type="xs:string" name="xUnit" use="required"/>
<xs:attribute type="xs:string" name="yUnit" use="required"/>
<xs:attribute type="xs:string" name="vUnit" use="required"/>
<xs:attribute type="xs:string" name="tUnit" use="required"/>
<xs:attribute type="xs:string" name="detectionWindow" use="optional"/>
<xs:attribute type="xs:string" name="filter" use="optional"/>
<xs:attribute type="xs:string" name="comment" use="optional"/>
<xs:attribute type="xs:string" name="state" use="optional"/>
<xs:attribute type="xs:token" name="parentID" use="optional/>
<xs:attribute type="xs:unsignedInt" name="pulseID" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="record">
<xs:complexType>
<xs:sequence>
<xs:element ref="curve" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
<xs:attribute name="recordType" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="bleaching"/>
<xs:enumeration value="irradiation"/>
<xs:enumeration value="atmosphereExchange"/>
<xs:enumeration value="heating"/>
<xs:enumeration value="spectrometer"/>
<xs:enumeration value="camera"/>
<xs:enumeration value="TL"/>
<xs:enumeration value="ITL"/>
<xs:enumeration value="IRSL"/>
<xs:enumeration value="TM-OSL"/>
<xs:enumeration value="RF"/>
<xs:enumeration value="UV-RF"/>
<xs:enumeration value="IR-RF"/>
<xs:enumeration value="IR-PL"/>
<xs:enumeration value="OSL"/>
<xs:enumeration value="BSL"/>
<xs:enumeration value="GSL"/>
<xs:enumeration value="VSL"/>
<xs:enumeration value="YSL"/>
<xs:enumeration value="POSL"/>
<xs:enumeration value="PREHEAT_TL"/>
<xs:enumeration value="NORM_Irrad"/>
<xs:enumeration value="USER"/>
<xs:enumeration value="pause"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="sequenceStepNumber">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="sampleCondition">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NA"/>
<xs:enumeration value="Natural"/>
<xs:enumeration value="Natural+Dose"/>
<xs:enumeration value="Bleach"/>
<xs:enumeration value="Bleach+Dose"/>
<xs:enumeration value="Nat.(Bleach)"/>
<xs:enumeration value="Nat.+Dose(Bleach)"/>
<xs:enumeration value="Dose"/>
<xs:enumeration value="Background"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="comment" use="optional"/>
<xs:attribute type="xs:string" name="state" use="optional"/>
<xs:attribute type="xs:token" name="parentID" use="optional/>
<xs:attribute type="xs:double" name="onTime" use="optional"/>
<xs:attribute type="xs:double" name="offTime" use="optional"/>
<xs:attribute type="xs:unsignedInt" name="nPulses" use="optional"/>
<xs:attribute type="xs:unsignedInt" name="summations" use="optional"/>
<xs:attribute type="xs:unsignedInt" name="channelsPerPulse" use="optional"/>
<xs:attribute type="xs:unsignedInt" name="countsNormalised" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="sequence">
<xs:complexType>
<xs:sequence>
<xs:element ref="record" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
<xs:attribute type="xs:unsignedInt" name="position" use="required"/>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="fileName" use="required"/>
<xs:attribute type="xs:string" name="software" use="required"/>
<xs:attribute type="xs:string" name="readerName" use="required"/>
<xs:attribute type="xs:string" name="readerSN" use="required"/>
<xs:attribute type="xs:string" name="readerFW" use="required"/>
<xs:attribute type="xs:string" name="comment" use="optional"/>
<xs:attribute type="xs:string" name="state" use="optional"/>
<xs:attribute type="xs:token" name="parentID" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="sample">
<xs:complexType>
<xs:sequence>
<xs:element ref="sequence" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="mineral" use="required"/>
<xs:attribute name="latitude" use="required">
<xs:simpleType>
<xs:restriction base="xs:double">
<xs:minInclusive value="-90"/>
<xs:maxInclusive value="90"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="longitude" use="required">
<xs:simpleType>
<xs:restriction base="xs:double">
<xs:minInclusive value="-180"/>
<xs:maxInclusive value="180"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="altitude" use="required">
<xs:simpleType>
<xs:restriction base="xs:double">
<xs:minInclusive value="-12000"/>
<xs:maxInclusive value="12000"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:anyURI" name="doi" use="required"/>
<xs:attribute type="xs:string" name="comment" use="optional"/>
<xs:attribute type="xs:string" name="state" use="optional"/>
<xs:attribute type="xs:token" name="parentID" use="optional/>
</xs:complexType>
</xs:element>
<xs:element name="xlum">
<xs:complexType>
<xs:sequence>
<xs:element ref="sample" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
<xs:attribute name="lang" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="en"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="formatVersion" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="flavour" use="required"/>
<xs:attribute type="xs:string" name="author" use="required"/>
<xs:attribute name="license" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="CC BY"/>
<xs:enumeration value="CC BY-SA"/>
<xs:enumeration value="CC BY-NC"/>
<xs:enumeration value="CC BY-NC-SA"/>
<xs:enumeration value="CC BY-ND"/>
<xs:enumeration value="CC BY-NC-ND"/>
<xs:enumeration value="CC0"/>
<xs:enumeration value="Copyright"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:anyURI" name="doi"/>
</xs:complexType>
</xs:element>
</xs:schema>