<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:swe="http://www.opengis.net/swe/1.0" xmlns:sa="http://www.opengis.net/sampling/0.0" xmlns:gml="http://www.opengis.net/gml" xmlns:adx="http://www.seegrid.csiro.au/xml/adx/3" targetNamespace="http://www.seegrid.csiro.au/xml/adx/3" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0">
	<!-- ==================================================== -->
	<annotation>
		<documentation>
2006-03-09
	Set of classes that mirror event classes, providing a prototypical event plus additional optional params to expand to a full event.
	
	There will be a family of proto support types in here for every event type in adxEvents.xsd
Copyright (c) 2006 CSIRO - see https://www.seegrid.csiro.au/twiki/bin/view/Xmml/LegalNotices#Software_Notice</documentation>
	</annotation>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
	<import namespace="http://www.opengis.net/swe/1.0" schemaLocation="../../sweCommon/trunk/swe.xsd"/>
	<import namespace="http://www.seegrid.csiro.au/xml/sampling" schemaLocation="http://www.seegrid.csiro.au/xsd/sampling/0.1.0/sampling.xsd"/>
	<!-- ==================================================== -->
	<include schemaLocation="./adxProcessing.xsd"/>
	<include schemaLocation="./adxPrepProcedure.xsd"/>
	<include schemaLocation="./assayProcedure.xsd"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for PulpPrepEvent -->
	<group name="PulpPrepEventParams">
		<sequence>
			<element name="procedureUsed" type="adx:SpecimenPreparationActivityPropertyType" minOccurs="0"/>
			<element name="massPrior" type="swe:RelativeMeasureType" minOccurs="0"/>
			<element name="massPost" type="swe:RelativeMeasureType" minOccurs="0"/>
		</sequence>
	</group>
	<!-- ........................................................................ -->
	<complexType name="PulpPrepProtoEventType">
		<annotation>
			<documentation>Prototype for a PulpPrepEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:PulpPrepEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="PulpPrepProtoEvent" type="adx:PulpPrepProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="PulpPrepProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a PulpPrepProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:PulpPrepEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="PulpPrepProtoParam" type="adx:PulpPrepProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for RejectStoreEvent -->
	<group name="RejectStoreEventParams">
		<sequence>
			<element name="procedureUsed" type="adx:SpecimenPreparationActivityPropertyType" minOccurs="0"/>
			<element name="mass" type="swe:RelativeMeasureType" minOccurs="0"/>
		</sequence>
	</group>
	<!-- ........................................................................ -->
	<complexType name="RejectStoreProtoEventType">
		<annotation>
			<documentation>Prototype for a RejectStoreEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:RejectStoreEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="RejectStoreProtoEvent" type="adx:RejectStoreProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="RejectStoreProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a RejectStoreProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:RejectStoreEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="RejectStoreProtoParam" type="adx:RejectStoreProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for InstrumentPrepEvent -->
	<complexType name="InstrumentPrepProtoEventType">
		<annotation>
			<documentation>Prototype for a InstrumentPrepEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:PulpPrepEventParams"/>
			</extension>
			<!-- same params for now -->
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="InstrumentPrepProtoEvent" type="adx:InstrumentPrepProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="InstrumentPrepProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a InstrumentPrepProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:PulpPrepEventParams"/>
			</extension>
			<!-- same params for now -->
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="InstrumentPrepProtoParam" type="adx:InstrumentPrepProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for SampleReceiptEvent -->
	<group name="SampleReceiptEventParams">
		<sequence>
			<element name="procedureUsed" type="adx:SpecimenPreparationActivityPropertyType" minOccurs="0"/>
			<element name="originalSampleID" type="gml:CodeType" minOccurs="0"/>
			<element name="mass" type="swe:RelativeMeasureType" minOccurs="0"/>
			<element name="type" type="adx:SpecimenTypeCode" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="SampleReceiptProtoEventType">
		<annotation>
			<documentation>Prototype for a SampleReceiptEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:SampleReceiptEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="SampleReceiptProtoEvent" type="adx:SampleReceiptProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="SampleReceiptProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a SampleReceiptProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:SampleReceiptEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="SampleReceiptProtoParam" type="adx:SampleReceiptProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for PulpReuseEvent -->
	<group name="PulpReuseEventParams">
		<sequence>
			<element name="originalSampleID" type="gml:CodeType" minOccurs="0"/>
			<element name="procedureUsed" type="adx:SpecimenPreparationActivityPropertyType" minOccurs="0"/>
			<element name="mass" type="swe:RelativeMeasureType" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="PulpReuseProtoEventType">
		<annotation>
			<documentation>Prototype for a PulpReuseEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:PulpReuseEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="PulpReuseProtoEvent" type="adx:PulpReuseProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="PulpReuseProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a PulpReuseProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:PulpReuseEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="PulpReuseProtoParam" type="adx:PulpReuseProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for RepeatEvent -->
	<group name="RepeatEventParams">
		<sequence>
			<element name="originalSampleID" type="gml:CodeType" minOccurs="0"/>
			<element name="mass" type="swe:RelativeMeasureType" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="RepeatProtoEventType">
		<annotation>
			<documentation>Prototype for a RepeatEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:RepeatEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="RepeatProtoEvent" type="adx:RepeatProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="RepeatProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a RepeatProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:RepeatEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="RepeatProtoParam" type="adx:RepeatProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for TrayEvent -->
	<group name="TrayEventParams">
		<sequence>
			<element name="trayID" type="gml:CodeType" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="TrayProtoEventType">
		<annotation>
			<documentation>Prototype for a TrayEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:TrayEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="TrayProtoEvent" type="adx:TrayProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="TrayProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a TrayProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:TrayEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="TrayProtoParam" type="adx:TrayProtoParamType" substitutionGroup="adx:ProtoParam"/>
	<!-- ==================================================== -->
	<!-- ==================================================== -->
	<!-- Proto support types for MeasureEvent -->
	<group name="MeasureEventParams">
		<sequence>
			<element name="procedureUsed" type="adx:AssayProcedurePropertyType" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="MeasureProtoEventType">
		<annotation>
			<documentation>Prototype for a MeasureEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoEventType">
				<group ref="adx:MeasureEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="MeasureProtoEvent" type="adx:MeasureProtoEventType" substitutionGroup="adx:ProtoEvent"/>
	<!-- ........................................................................ -->
	<complexType name="MeasureProtoParamType">
		<annotation>
			<documentation>Optional params to fill in a MeasureProtoEvent</documentation>
		</annotation>
		<complexContent>
			<extension base="adx:ProtoParamType">
				<group ref="adx:MeasureEventParams"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ........................................................................ -->
	<element name="MeasureProtoParam" type="adx:MeasureProtoParamType" substitutionGroup="adx:ProtoParam"/>
</schema>

