<?xml version="1.0" encoding="UTF-8"?>

 <xs:schema targetNamespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

 <!-- CompositionPlaylist -->
<xs:element name="CompositionPlaylist" type="cpl:CompositionPlaylistType" />
<xs:complexType name="CompositionPlaylistType">
	<xs:sequence>
		<xs:element name="Id" type="cpl:UUID"/>
		<xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
		<xs:element name="IconId" type="cpl:UUID" minOccurs="0"/>
		<xs:element name="IssueDate" type="xs:dateTime"/>
		<xs:element name="Issuer" type="cpl:UserText"/>
		<xs:element name="Creator" type="cpl:UserText"/>
		<xs:element name="ContentTitleText" type="cpl:UserText"/>
		<xs:element ref="cpl:ContentKind"/>
		<xs:element ref="cpl:ContentVersion" minOccurs="0"/>
		<xs:element name="RatingList">
			<xs:complexType>
				<xs:sequence>
					<xs:element ref="cpl:Rating" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:complexType>
					</xs:element>
					<xs:element name="ReelList">
						<xs:complexType>
							<xs:sequence>
								<xs:element ref="cpl:Reel" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Signer" type="ds:KeyInfoType" minOccurs="0"/>
					<xs:element ref="ds:Signature" minOccurs="0"/>
				</xs:sequence>
			</xs:complexType>

 <!-- Marker -->
			<xs:complexType name="MarkerAssetType">
				<xs:complexContent>
					<xs:extension base="cpl:GenericAssetType">
						<xs:sequence>
							<xs:element name="MarkerList">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Marker" type="cpl:MarkerType" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:extension>
				</xs:complexContent>
			</xs:complexType>

  <!-- Rating -->
			<xs:element name="Rating" type="cpl:RatingType"/>
				<xs:complexType name="RatingType">
					<xs:sequence>
						<xs:element name="Agency" type="xs:anyURI" />
						<xs:element name="Label" type="xs:string" />
					</xs:sequence>
				</xs:complexType>

 <!-- ContentKind -->
				<xs:element name="ContentKind" type="cpl:ContentKindType"/>
				<xs:complexType name="ContentKindType">
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="scope" type="xs:anyURI" use="optional" default="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#standard-content"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>

 <!-- ContentVersion -->
				<xs:element name="ContentVersion" type="cpl:ContentVersionType"/>
				<xs:complexType name="ContentVersionType">
					<xs:sequence>
						<xs:element name="Id" type="xs:anyURI" minOccurs="0"/>
						<xs:element name="LabelText" type="cpl:UserText"/>
					</xs:sequence>
				</xs:complexType>

 <!-- Reel -->
				<xs:element name="Reel" type="cpl:ReelType" />
				<xs:complexType name="ReelType">
					<xs:sequence>
						<xs:element name="Id" type="cpl:UUID" />
						<xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0" />
						<xs:element name="AssetList">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="MainMarkers" type="cpl:MarkerAssetType" minOccurs="0"/>
									<xs:element name="MainPicture" type="cpl:PictureTrackFileAssetType" minOccurs="0"/>
									<xs:element name="MainSound" type="cpl:SoundTrackFileAssetType" minOccurs="0"/>
									<xs:element name="MainSubtitle" type="cpl:SubtitleTrackFileAssetType" minOccurs="0"/>
									<xs:element name="ProjectorData" type="cpl:ProjectorDataAssetType" minOccurs="0" maxOccurs="unbounded"/> 
									<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>

 <!-- Track File Assets -->
				<xs:complexType name="TrackFileAssetType" abstract="1">
					<xs:complexContent>
						<xs:extension base="cpl:GenericAssetType">
							<xs:sequence>
								<xs:element name="KeyId" type="cpl:UUID" minOccurs="0"/>
								<xs:element name="Hash" type="xs:base64Binary" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>

 <!-- Sound TrackFile Asset -->
				<xs:complexType name="SoundTrackFileAssetType">
					<xs:complexContent>
						<xs:extension base="cpl:TrackFileAssetType">
							<xs:sequence>
								<xs:element name="Language" type="xs:language" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>

 <!-- Picture TrackFile Asset -->
				<xs:complexType name="PictureTrackFileAssetType">
					<xs:complexContent>
						<xs:extension base="cpl:TrackFileAssetType">
							<xs:sequence>
								<xs:element name="FrameRate" type="cpl:Rational"/>
								<xs:element name="ScreenAspectRatio">
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:decimal">
												<xs:attribute name="scope" type="xs:anyURI" use="optional" default="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#standard-aspectratio"/>
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>
								</xs:element>
                            </xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>


<!-- Projector Data -->
				<xs:complexType name="ProjectorDataAssetType">
					<xs:complexContent>
						<xs:extension base="cpl:GenericAssetType">
							<xs:sequence>
								<xs:element name="DataInfo" type="xs:string" minOccurs="0"/>
                            </xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>

 <!-- ReelList -->
					<xs:element name="ReelList">
						<xs:complexType>
							<xs:sequence>
								<xs:element ref="cpl:Reel" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Signer" type="ds:KeyInfoType" minOccurs="0"/>
					<xs:element ref="ds:Signature" minOccurs="0"/>
					
 <!-- Rational -->
				<xs:simpleType name="Rational">
					<xs:restriction>
						<xs:simpleType>
							<xs:list itemType="xs:long"/>
						</xs:simpleType>
						<xs:length value="2"/>
					</xs:restriction>
				</xs:simpleType>

 <!-- UUID -->
				<xs:simpleType name="UUID">
					<xs:restriction base="xs:anyURI">
						<xs:pattern value="urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
					</xs:restriction>
				</xs:simpleType>

 <!-- UserText -->
				<xs:complexType name="UserText">
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute ref="xml:lang" use="optional" default="en"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>

</xs:schema>