<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
	targetNamespace="urn:schemas-upnp-org:av:srs"
	xmlns:srs="urn:schemas-upnp-org:av:srs"
	xmlns:av="urn:schemas-upnp-org:av:av"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:didl-lite="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified"
	version="1-20060531">
	<xsd:annotation>
		<xsd:documentation>SRS schema for UPnP AV ScheduledRecording service</xsd:documentation>
	</xsd:annotation>
	<xsd:import namespace="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
		schemaLocation="http://www.upnp.org/schemas/av/didl-lite-v2-20060531.xsd"/>
	<xsd:import namespace="urn:schemas-upnp-org:av:av"
		schemaLocation="http://www.upnp.org/schemas/av/av-v1-20060531.xsd"/>
	
	<!--============================================================
	'srs' is the root element of srs documents.
    It can have recordTask or recordSchedule elements.
	============================================================-->
	<xsd:element name="srs" type="srs:srs.type">
		<xsd:annotation>
			<xsd:documentation>srs is the root element of srs documents. </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="srs.type">
		<xsd:group ref="srs:allowedUnderSRSType" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:complexType>
	<xsd:group name="allowedUnderSRSType">
		<xsd:choice>
			<xsd:element name="item" type="srs:item.type"/>
		</xsd:choice>
	</xsd:group>
	<!--============================================================
	item is a recordTask or recordSchedule which can have properties. 
	============================================================-->
	<xsd:complexType name="item.type">
		<xsd:annotation>
			<xsd:documentation>
				item is a recordTask or recordSchedule which can have number of properties.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="title" type="av:_title.type"/>
			<xsd:element name="class" type="srs:class.type"/>
			<xsd:group ref="srs:allowedUnderItemType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attributeGroup ref="srs:srs.extensions.attributes"/>
	</xsd:complexType>
	
	<xsd:group name="allowedUnderItemType">
		<xsd:choice>
			<!--=============================-=============================-->
			<!--                      Base Properties                      -->
			<!--=============================-=============================-->
			<xsd:element name="additionalStatusInfo" type="xsd:string"/>
			<xsd:element name="cdsReference" type="srs:cdsReference.type"/>
			<!--=============================-=============================-->
			<!--                    Priority Properties                    -->
			<!--=============================-=============================-->
			<xsd:element name="priority" type="srs:priority.type"/>
			<xsd:element name="desiredPriority" type="srs:desiredPriority.type"/>
			<!--=============================-=============================-->
			<!--                 Output Control Properties                 -->
			<!--=============================-=============================-->
			<xsd:element name="recordDestination" type="srs:recordDestination.type"/>
			<xsd:element name="desiredRecordQuality" type="srs:desiredRecordQuality.type"/>
			<!--=============================-=============================-->
			<!--         Content Identification Related Properties         -->
			<!--=============================-=============================-->
			<xsd:element name="scheduledCDSObjectID" type="srs:CDSObjectID.type"/>
			<xsd:element name="scheduledChannelID" type="av:channelID.type"/>
			<xsd:element name="scheduledStartDateTime" type="av:sched-start"/>
			<xsd:element name="scheduledDuration" type="av:unsignedDuration"/>
			<xsd:element name="scheduledProgramCode" type="srs:scheduledProgramCode.type"/>
			<!--=============================-=============================-->
			<!--           Matching Content Criteria Properties            -->
			<!--=============================-=============================-->
			<xsd:element name="matchingName" type="srs:matchingName.type"/>
			<xsd:element name="matchingID" type="av:programID.type"/>
			<!--=============================-=============================-->
			<!--          Matching Qualifying Criteria Properties          -->
			<!--=============================-=============================-->
			<xsd:element name="matchingChannelID" type="av:channelID.type"/>
			<xsd:element name="matchingStartDateTimeRange" type="av:dateTime-range"/>
			<xsd:element name="matchingDurationRange" type="av:duration-range"/>
			<xsd:element name="matchingRatingLimit" type="srs:matchingRatingLimit.type"/>
			<xsd:element name="matchingEpisodeType" type="srs:matchingEpisodeType.type"/>
			<!--=============================-=============================-->
			<!--                 Content Control Properties                -->
			<!--=============================-=============================-->
			<xsd:element name="totalDesiredRecordTasks" type="xsd:unsignedInt"/>
			<xsd:element name="scheduledStartDateTimeAdjust" type="srs:scheduledStartDateTimeAdjust.type"/>
			<xsd:element name="scheduledDurationAdjust" type="srs:scheduledDurationAdjust.type"/>
			<xsd:element name="activePeriod" type="av:dateTime-range"/>
			<xsd:element name="durationLimit" type="srs:durationLimit.type"/>
			<xsd:element name="channelMigration" type="srs:channelMigration.type"/>
			<xsd:element name="timeMigration" type="srs:timeMigration.type"/>
			<xsd:element name="allowDuplicates" type="xsd:boolean"/>
			<!--=============================-=============================-->
			<!--                Storage Related Properties                 -->
			<!--=============================-=============================-->
			<xsd:element name="persistedRecordings" type="srs:persistedRecordings.type"/>
			<!--=============================-=============================-->
			<!--                 Schedule State Properties                 -->
			<!--=============================-=============================-->
			<xsd:element name="scheduleState" type="srs:scheduleState.type"/>
			<xsd:element name="abnormalTasksExist" type="xsd:boolean"/>
			<!--=============================-=============================-->
			<!--                   Statistics Properties                   -->
			<!--=============================-=============================-->
			<xsd:element name="currentRecordTaskCount" type="xsd:unsignedInt"/>
			<xsd:element name="totalCreatedRecordTasks" type="xsd:unsignedInt"/>
			<xsd:element name="totalCompletedRecordTasks" type="xsd:unsignedInt"/>
			<!--=============================-=============================-->
			<!--                  Task General Properties                  -->
			<!--=============================-=============================-->
			<xsd:element name="recordScheduleID" type="srs:_at_id.vd.type"/>
			<xsd:element name="recordedCDSObjectID" type="srs:CDSObjectID.type"/>
			<!--=============================-=============================-->
			<!--          Task Content Identification Properties           -->
			<!--=============================-=============================-->
			<xsd:element name="taskCDSObjectID" type="srs:CDSObjectID.type"/>
			<xsd:element name="taskChannelID" type="av:channelID.type"/>
			<xsd:element name="taskStartDateTime" type="av:dateTime"/>
			<xsd:element name="taskDuration" type="av:unsignedDuration"/>
			<xsd:element name="taskProgramCode" type="srs:scheduledProgramCode.type"/>
			<xsd:element name="recordQuality" type="srs:recordQuality.type"/>
			<!--=============================-=============================-->
			<!--         Task Matched Content Criteria Properties          -->
			<!--=============================-=============================-->
			<xsd:element name="matchedName" type="srs:matchingName.type"/>
			<xsd:element name="matchedID" type="av:programID.type"/>
			<!--=============================-=============================-->
			<!--        Task Matched Qualifying Criteria Properties        -->
			<!--=============================-=============================-->
			<xsd:element name="matchedRating" type="srs:matchedRating.type"/>
			<xsd:element name="matchedEpisodeType" type="srs:matchingEpisodeType.type"/>
			<!--=============================-=============================-->
			<!--          Task Matched Content Control Properties          -->
			<!--=============================-=============================-->
			<xsd:element name="taskStartDateTimeAdjust" type="srs:scheduledStartDateTimeAdjust.type"/>
			<xsd:element name="taskDurationAdjust" type="srs:scheduledDurationAdjust.type"/>
			<xsd:element name="taskDurationLimit" type="srs:durationLimit.type"/>
			<xsd:element name="taskChannelMigration" type="srs:channelMigration.type"/>
			<xsd:element name="taskTimeMigration" type="srs:timeMigration.type"/>
			<!--=============================-=============================-->
			<!--                   Task State Properties                   -->
			<!--=============================-=============================-->
			<xsd:element name="taskState" type="srs:taskState.type"/>
			<xsd:group ref="srs:srs.extensions.elements"/>
		</xsd:choice>
	</xsd:group>

	<!--=============================-=============================-->
	<!--                      Base Properties                      -->
	<!--=============================-=============================-->
	
	<xsd:simpleType name="class.type">
		<xsd:restriction base="av:_classNameBase.type">
			<!-- Can be tightened up, as was done for CDS class. -->
			<xsd:pattern value="OBJECT\..+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!-- <xsd:element name="additionalStatusInfo" type="xsd:string"/> -->
	<xsd:complexType name="cdsReference.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="link" type="srs:cdsReference_at_link.vd.type"/>
			</xsd:extension>	
		</xsd:simpleContent>
	</xsd:complexType>
	
	<!--=============================-=============================-->
	<!--                    Priority Properties                    -->
	<!--=============================-=============================-->
	<xsd:complexType name="priority.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:priority.value">
				<xsd:attribute name="orderedValue" type="xsd:unsignedInt"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<!-- 
		===== EBNF for priority value =====
		priority-value	::= standard-value | extended-value
		                    (* extended-value is only applicable if
		                       priority@orderedValue is supported *)
		standard-value ::= level | 'DEFAULT'
		level          ::= ('L' number)
		number         ::= (* integer (n>0) *)
		extended-value ::= 'HIGHEST' | 'LOWEST'| level-hi | level-low | object-id
		level-hi       ::= level '_HI'
		level-low      ::= level '_LOW'
		object-id      ::= (* @id value *)		
	-->
	<xsd:simpleType name="priority.value">
		<xsd:union memberTypes="srs:priority.standard-value
			srs:priority.extended-value"/>
	</xsd:simpleType>
	<xsd:simpleType name="priority.standard-value">
		<xsd:union memberTypes="srs:priority.level av:string.const.DEFAULT"/>
	</xsd:simpleType>
	<xsd:simpleType name="priority.level">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="L[1-9][0-9]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="priority.level-hi.low">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="L[1-9][0-9]*_(HI|LOW)"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="priority.extended-value">
		<xsd:union memberTypes="av:string.const.HIGHEST av:string.const.LOWEST
			srs:priority.level-hi.low srs:_at_id.vd.type"/>
	</xsd:simpleType>
	
	<xsd:complexType name="desiredPriority.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:priority.value">
				<xsd:attribute name="type"
					type="srs:desiredPriority_at_type.type" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="desiredPriority_at_type.type">
		<xsd:union memberTypes="av:string.const.PREDEF av:string.const.OBJECTID"/>
	</xsd:simpleType>
	
	<!--=============================-=============================-->
	<!--                 Output Control Properties                 -->
	<!--=============================-=============================-->
	<xsd:complexType name="recordDestination.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="mediaType" type="av:csv.1_.string.len.1_"/>
				<xsd:attribute name="targetURL" type="xsd:anyURI"/>
				<xsd:attribute name="preference" type="xsd:unsignedInt"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<xsd:complexType name="desiredRecordQuality.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type"
					type="srs:desiredRecordQuality_at_type.type" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="desiredRecordQuality.values">
		<xsd:union memberTypes="srs:desiredRecordQuality.wc.values srs:desiredRecordQuality.vx.values"/>
	</xsd:simpleType>
	<xsd:simpleType name="desiredRecordQuality.wc.values">
		<xsd:restriction base="av:string.const.AUTO"/>
	</xsd:simpleType>
	<xsd:simpleType name="desiredRecordQuality_at_type.type">
		<xsd:union memberTypes="srs:desiredRecordQuality_at_type.wc.type
			srs:desiredRecordQuality_at_type.vx.type"/>
	</xsd:simpleType>
	<xsd:simpleType name="desiredRecordQuality_at_type.wc.type">
		<xsd:restriction base="av:string.const.DEFAULT"/>
	</xsd:simpleType>
	
	<!--=============================-=============================-->
	<!--         Content Identification Related Properties         -->
	<!--=============================-=============================-->
	<xsd:complexType name="CDSObjectID.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:embeddedCDS_at_id.vd.type">
				<xsd:attribute name="link" type="srs:cdsReference_at_link.vd.type"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
<!--	<xsd:complexType name="scheduledChannelID.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type"
					type="srs:scheduledChannelID_at_type.values" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="scheduledChannelID_at_type.values">
		<xsd:union memberTypes="srs:scheduledChannelID_at_type.wc.values
			srs:scheduledChannelID_at_type.vx.values"/>
	</xsd:simpleType>
	<xsd:simpleType name="scheduledChannelID_at_type.wc.values">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="ANALOG"/>
			<xsd:enumeration value="DIGITAL"/>
			<xsd:enumeration value="FREQUENCY"/>
			<xsd:enumeration value="SI"/>
			<xsd:enumeration value="LINE"/>
			<xsd:enumeration value="NETWORK"/>
		</xsd:restriction>
	</xsd:simpleType>
-->	<!-- <xsd:element name="scheduledStartDateTime" type="av:sched-start"/> -->
	<!-- <xsd:element name="scheduledDuration" type="av:unsignedDuration"/> -->
	<xsd:complexType name="scheduledProgramCode.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type" type="xsd:string" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<!--=============================-=============================-->
	<!--           Matching Content Criteria Properties            -->
	<!--=============================-=============================-->
	<xsd:complexType name="matchingName.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type" use="required"
					type="srs:matchingName_at_type.values"/>
				<xsd:attribute name="subStringMatch" type="xsd:boolean" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="matchingName_at_type.values">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="PROGRAM"/>
			<xsd:enumeration value="SERIES"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<!--=============================-=============================-->
	<!--          Matching Qualifying Criteria Properties          -->
	<!--=============================-=============================-->
	<!-- <xsd:element name="matchingChannelID" type="srs:scheduledChannelID.type"/> -->
	<!-- <xsd:element name="matchingStartDateTimeRange" type="av:sched-start-range.type"/> -->
	<!-- <xsd:element name="matchingDurationRange" type="av:duration-range"/> -->
	<xsd:complexType name="matchingRatingLimit.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type" type="xsd:string" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="matchingEpisodeType.type">
		<xsd:restriction base="av:ALL.or.FIRST-RUN.or.REPEAT"/>
	</xsd:simpleType>
	
	<!--=============================-=============================-->
	<!--                 Content Control Properties                -->
	<!--=============================-=============================-->
	<!--<xsd:element name="totalDesiredRecordTasks" type="xsd:unsignedInt"/>-->
	<xsd:simpleType name="scheduledStartDateTimeAdjust.type">
		<xsd:restriction base="av:signedDuration"/>
	</xsd:simpleType>
	<xsd:simpleType name="scheduledDurationAdjust.type">
		<xsd:restriction base="av:signedDuration"/>
	</xsd:simpleType>
	<!--<xsd:element name="activePeriod" type="av:dateTime-range"/>-->
	<xsd:complexType name="durationLimit.type">
		<xsd:simpleContent>
			<xsd:extension base="av:unsignedDuration.or.INFINITY">
				<xsd:attribute name="effect" use="required"
					type="srs:durationLimit_at_effect.type"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="durationLimit_at_effect.type">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="SKIP"/>
			<xsd:enumeration value="LAST"/>
			<xsd:enumeration value="FIRST"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="channelMigration.type">
		<xsd:restriction base="xsd:boolean"/>
	</xsd:simpleType>
	<xsd:simpleType name="timeMigration.type">
		<xsd:restriction base="xsd:boolean"/>
	</xsd:simpleType>
	<!-- <xsd:element name="allowDuplicates" type="xsd:boolean"/> -->
	
	<!--=============================-=============================-->
	<!--                Storage Related Properties                 -->
	<!--=============================-=============================-->
	<xsd:complexType name="persistedRecordings.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:unsignedInt">
				<xsd:attribute name="latest" type="xsd:boolean"/>
				<xsd:attribute name="preAllocation" type="xsd:boolean"/>
				<xsd:attribute name="storedLifetime" type="av:unsignedDuration.or.INFINITY.or.ANY"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<!--=============================-=============================-->
	<!--                 Schedule State Properties                 -->
	<!--=============================-=============================-->
	<xsd:simpleType name="scheduleState.values">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="OPERATIONAL"/>
			<xsd:enumeration value="COMPLETED"/>
			<xsd:enumeration value="ERROR"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="scheduleState.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:scheduleState.values">
				<xsd:attribute name="currentErrors" type="av:csv.0_.unsignedInteger"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- <xsd:element name="abnormalTasksExist" type="xsd:boolean"/> -->
	
	<!--=============================-=============================-->
	<!--                   Statistics Properties                   -->
	<!--=============================-=============================-->
	<!-- <xsd:element name="currentRecordTaskCount" type="xsd:unsignedInt"/> -->
	<!-- <xsd:element name="totalCreatedRecordTasks" type="xsd:unsignedInt"/> -->
	<!-- <xsd:element name="totalCompletedRecordTasks" type="xsd:unsignedInt"/> -->
	
	<!--=============================-=============================-->
	<!--                  Task General Properties                  -->
	<!--=============================-=============================-->
	<!-- <xsd:element name="recordScheduleID" type="xsd:string"/> -->
	
	<!--=============================-=============================-->
	<!--          Task Content Identification Properties           -->
	<!--=============================-=============================-->
	<!-- <xsd:element name="taskCDSObjectID" type="didl-lite:_at_id.vd.type"/> -->
	<!-- <xsd:element name="taskChannelID" type="srs:scheduledChannelID.type"/> -->
	<!-- <xsd:element name="taskStartDateTime" type="av:dateTime"/> -->
	<!-- <xsd:element name="taskDuration" type="av:string"/> -->
	<!-- <xsd:element name="taskProgramCode" type="srs:scheduledProgramCode.type"/> -->
	
	<xsd:complexType name="recordQuality.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:recordQuality.values">
				<xsd:attribute name="type" type="xsd:string" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="recordQuality.values">
		<xsd:union memberTypes="srs:recordQuality.wc.values srs:recordQuality.vx.values"/>
	</xsd:simpleType>
	<xsd:simpleType name="recordQuality.wc.values">
		<xsd:restriction base="av:string.const.UNKNOWN"/>
	</xsd:simpleType>
	<xsd:simpleType name="recordQuality_at_type.values">
		<xsd:union memberTypes="srs:recordQuality_at_type.wc.values srs:recordQuality_at_type.vx.values"/>
	</xsd:simpleType>
	<xsd:simpleType name="recordQuality_at_type.wc.values">
		<xsd:restriction base="av:string.const.DEFAULT"/>
	</xsd:simpleType>
	
	<!--=============================-=============================-->
	<!--         Task Matched Content Criteria Properties          -->
	<!--=============================-=============================-->
	<!-- <xsd:element name="matchedName" type="srs:matchingName.type"/> -->
	<!-- <xsd:element name="matchedID" type="srs:matchingName.type"/> -->
	
	<!--=============================-=============================-->
	<!--        Task Matched Qualifying Criteria Properties        -->
	<!--=============================-=============================-->
	<xsd:complexType name="matchedRating.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type" type="xsd:string" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- <xsd:element name="matchedEpisodeType" type="srs:matchingEpisodeType.type"/> -->
	
	<!--=============================-=============================-->
	<!--          Task Matched Content Control Properties          -->
	<!--=============================-=============================-->
	
	<!-- <xsd:element name="taskStartDateTimeAdjust" type="srs:scheduledStartDateTimeAdjust.type"/> -->
	<!-- <xsd:element name="taskDurationAdjust" type="srs:scheduledDurationAdjust.type"/> -->
	<!-- <xsd:element name="taskDurationLimit" type="srs:durationLimit.type"/> -->
	<xsd:complexType name="taskDurationLimit.type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="effect" type="xsd:string" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- <xsd:element name="taskChannelMigration" type="srs:channelMigration.type"/> -->
	<!-- <xsd:element name="taskTimeMigration" type="srs:timeMigration.type"/> -->
	
	<!--=============================-=============================-->
	<!--                   Task State Properties                   -->
	<!--=============================-=============================-->
	<xsd:complexType name="taskState.type">
		<xsd:simpleContent>
			<xsd:extension base="srs:taskState.values">
				<xsd:attribute name="phase" type="srs:phase.type" use="required"/>
				<xsd:attribute name="startDateTimeMet" type="xsd:boolean"/>
				<xsd:attribute name="endDateTimeMet" type="xsd:boolean"/>
				<xsd:attribute name="recording" type="xsd:boolean" use="required"/>
				<xsd:attribute name="someBitsRecorded" type="xsd:boolean" use="required"/>
				<xsd:attribute name="someBitsMissing" type="xsd:boolean" use="required"/>
				<xsd:attribute name="firstBitsRecorded" type="xsd:boolean"/>
				<xsd:attribute name="lastBitsRecorded" type="xsd:boolean"/>
				<xsd:attribute name="fatalError" type="xsd:boolean" use="required"/>
				<xsd:attribute name="currentErrors" type="av:csv.0_.unsignedInteger" use="required"/>
				<xsd:attribute name="errorHistory" type="av:csv.0_.unsignedInteger" use="required"/>
				<xsd:attribute name="pendingErrors" type="av:csv.0_.unsignedInteger" use="required"/>
				<xsd:attribute name="infoList" type="av:csv.0_.unsignedInteger" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="taskState.values">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="IDLE.READY"/>
			<xsd:enumeration value="IDLE.ATRISK"/>
			<xsd:enumeration value="ACTIVE.TRANSITION.FROMSTART"/>
			<xsd:enumeration value="ACTIVE.TRANSITION.RESTART"/>
			<xsd:enumeration value="ACTIVE.RECORDING.FROMSTART.OK"/>
			<xsd:enumeration value="ACTIVE.RECORDING.FROMSTART.ATRISK"/>
			<xsd:enumeration value="ACTIVE.RECORDING.RESTART.OK"/>
			<xsd:enumeration value="ACTIVE.RECORDING.RESTART.ATRISK"/>
			<xsd:enumeration value="ACTIVE.NOTRECORDING"/>
			<xsd:enumeration value="DONE.FULL"/>
			<xsd:enumeration value="DONE.PARTIAL"/>
			<xsd:enumeration value="DONE.EMPTY"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="phase.type">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="IDLE"/>
			<xsd:enumeration value="ACTIVE"/>
			<xsd:enumeration value="DONE"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	
	<!--===================================================================-->
	<!--                                                                   -->
	<!--                   Extension Component Datatypes                   -->
	<!--                                                                   -->
	<!--===================================================================-->
	<xsd:group name="srs.extensions.elements">
		<xsd:sequence>
			<xsd:any namespace="##other"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:attributeGroup name="srs.extensions.attributes">
		<xsd:anyAttribute/>
	</xsd:attributeGroup>
	<xsd:simpleType name="desiredRecordQuality.vx.values">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="desiredRecordQuality_at_type.vx.type">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	
	<!--<xsd:simpleType name="scheduledChannelID_at_type.vx.values">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>-->
	<xsd:simpleType name="recordQuality.vx.values">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="recordQuality_at_type.vx.values">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	
	<!--===================================================================-->
	<!--                                                                   -->
	<!--                Vendor-Defined Component Datatypes                 -->
	<!--                                                                   -->
	<!--===================================================================-->
	
	<xsd:simpleType name="embeddedCDS_at_id.vd.type">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="cdsReference_at_link.vd.type">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="_at_id.vd.type">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	
</xsd:schema>

