<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="ContentComponentBase.xsd"/>
	<xs:simpleType name="MusicnetComponentCodeTvShow">
		<xs:annotation>
			<xs:documentation>Television show component code.  Must have suffix (_NN[NN]) even if standalone.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="MusicnetComponentCodeBase">
			<xs:pattern value="([A-Z]|\d){6,18}(_\d{2,4})?"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="MusicnetComponentTvShow">
		<xs:annotation>
			<xs:documentation>Child component that is a TV Show</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="MusicnetComponentBase">
				<xs:sequence>
					<xs:element name="MUSICNET_COMPONENT_CODE" type="MusicnetComponentCodeTvShow"/>
					<xs:element name="COMPONENT_TYPE" type="ComponentTypeBase" fixed="TV_SHOW"/>
					<xs:element name="COMPONENT_SUBTYPE" type="ComponentSubtypeBase" minOccurs="0"/>
					<xs:element name="CORP_CODE" type="CorpCode"/>
					<xs:element name="LABEL_CODE" type="xs:string"/>
					<xs:element name="XML_FILE_NAME" type="xs:string" minOccurs="0"/>
					<xs:element name="EXCLUSIVE_RTLR_LIST" type="xs:string" minOccurs="0"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element name="STREAM_RIGHT" type="RightsType"/>
						<xs:element name="DOWNLOAD_RIGHT" type="RightsType"/>
						<xs:element name="CD_BURN_RIGHT" type="RightsType"/>
						<xs:element name="TRANSFER2PD_RIGHT" type="RightsType"/>
						<xs:element name="FREE_STREAM_RIGHT" type="RightsType"/>
						<xs:element name="DIGITAL_AVAILABILITY" type="DigitalAvailabilityType"/>
						<xs:element name="LABEL_APPR_IND" type="ApprovalType"/>
						<xs:element name="PUBLISHER_APPR_IND" type="ApprovalType"/>
						<xs:element name="PUBLISHER_OVERRIDE_CODE" type="ApprovalOverrideType"/>
        				<xs:element name="PUBLISH_OVERRIDE_CODE" type="ApprovalOverrideType"/>
                        <xs:element name="NON_DRM_PURCHASE" type="RightsType"/>
                        <xs:element name="NON_DRM_STREAM" type="RightsType"/>
					</xs:choice>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element name="METADATA" type="Metadata"/>
						<xs:element name="ARTIST" type="Artist"/>
					</xs:choice>
					<xs:element name="PRICE" type="Price" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="URL" type="Url" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RENAME" type="Rename" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="MusicnetComponentTvSeries">
		<xs:annotation>
			<xs:documentation>Parent compoent (i.e. component with zero or more children)</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="MusicnetComponentBase">

		<xs:sequence>
			<xs:element name="MUSICNET_COMPONENT_CODE" type="MusicnetComponentCodeBase"/>
			<xs:element name="COMPONENT_TYPE" type="ComponentTypeBase" fixed="TV_SERIES"/>
			<xs:element name="COMPONENT_SUBTYPE" type="ComponentSubtypeBase" minOccurs="0"/>
			<xs:element name="CORP_CODE" type="CorpCode"/>
			<xs:element name="LABEL_CODE" type="xs:string"/>
			<xs:element name="RELATED_COMP_ID" type="xs:unsignedLong" minOccurs="0"/>
			<xs:element name="XML_FILE_NAME" type="xs:string" minOccurs="0"/>
			<xs:element name="EXCLUSIVE_RTLR_LIST" type="xs:string" minOccurs="0"/>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="STREAM_RIGHT" type="RightsType"/>
				<xs:element name="DOWNLOAD_RIGHT" type="RightsType"/>
				<xs:element name="CD_BURN_RIGHT" type="RightsType"/>
				<xs:element name="TRANSFER2PD_RIGHT" type="RightsType"/>
				<xs:element name="FREE_STREAM_RIGHT" type="RightsType"/>
				<xs:element name="DIGITAL_AVAILABILITY" type="DigitalAvailabilityType"/>
				<xs:element name="BUNDLE_RESTRICTION" type="RightsType"/>
				<xs:element name="LABEL_APPR_IND" type="ApprovalType"/>
				<xs:element name="PUBLISHER_APPR_IND" type="ApprovalType"/>
				<xs:element name="PUBLISHER_OVERRIDE_CODE" type="ApprovalOverrideType"/>
				<xs:element name="PUBLISH_OVERRIDE_CODE" type="ApprovalOverrideType"/>
				<xs:element name="NON_DRM_PURCHASE" type="RightsType"/>
				<xs:element name="NON_DRM_STREAM" type="RightsType"/>
			</xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="METADATA" type="Metadata"/>
				<xs:element name="ARTIST" type="Artist"/>
			</xs:choice>
			<xs:element name="PRICE" type="Price" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="URL" type="Url" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="RENAME" type="Rename" minOccurs="0" maxOccurs="unbounded"/>
			<xs:choice>
				<xs:element name="MUSICNET_COMPONENT" type="MusicnetComponentTvShow" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="COLLECTION_COMPONENT" type="CollectionComponent" minOccurs="0" maxOccurs="unbounded"/>
			</xs:choice>
			<!-- since label_code matching is case insensitive, validation is in precheck -->
		</xs:sequence>
		<xs:attribute name="action" type="xs:string"/>

			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>

</xs:schema>
