Rename ReelMXF -> ReelFileAsset.
[libdcp.git] / xsd / SMPTE-429-16.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata" xmlns:cpl="http://www.smpte-ra.org/schemas/429-7/2006/CPL" xmlns:meta="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3   <xs:import namespace="http://www.smpte-ra.org/schemas/429-7/2006/CPL"/>
4   <xs:element name="CompositionMetadataAsset" type="meta:CompositionMetadataAssetType"/>
5   <xs:complexType name="CompositionMetadataAssetType">
6     <xs:complexContent>
7       <xs:extension base="cpl:GenericAssetType">
8         <xs:sequence>
9           <xs:element name="FullContentTitleText" type="cpl:UserText"/>
10           <xs:element minOccurs="0" name="ReleaseTerritory">
11             <xs:complexType>
12               <xs:simpleContent>
13                 <xs:extension base="xs:string">
14                   <xs:attribute default="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata#scope/release-territory/UNM49" name="scope" type="xs:anyURI"/>
15                 </xs:extension>
16               </xs:simpleContent>
17             </xs:complexType>
18           </xs:element>
19           <xs:element default="1" minOccurs="0" name="VersionNumber">
20             <xs:complexType>
21               <xs:simpleContent>
22                 <xs:extension base="xs:nonNegativeInteger">
23                   <xs:attribute default="final" name="status" type="meta:StatusEnum"/>
24                 </xs:extension>
25               </xs:simpleContent>
26             </xs:complexType>
27           </xs:element>
28           <xs:element minOccurs="0" name="Chain" type="xs:string"/>
29           <xs:element minOccurs="0" name="Distributor" type="xs:string"/>
30           <xs:element minOccurs="0" name="Facility" type="xs:string"/>
31           <xs:element minOccurs="0" name="AlternateContentVersionList">
32             <xs:complexType>
33               <xs:sequence>
34                 <xs:element maxOccurs="unbounded" minOccurs="1" name="ContentVersion" type="cpl:ContentVersionType"/>
35               </xs:sequence>
36             </xs:complexType>
37           </xs:element>
38           <xs:element minOccurs="0" name="Luminance">
39             <xs:complexType>
40               <xs:simpleContent>
41                 <xs:extension base="meta:PositiveDecimal">
42                   <xs:attribute name="units" type="meta:LuminanceUnitEnum" use="required"/>
43                 </xs:extension>
44               </xs:simpleContent>
45             </xs:complexType>
46           </xs:element>
47           <xs:element minOccurs="1" name="MainSoundConfiguration" type="xs:string"/>
48           <xs:element minOccurs="1" name="MainSoundSampleRate" type="cpl:Rational"/>
49           <xs:element minOccurs="1" name="MainPictureStoredArea">
50             <xs:complexType>
51               <xs:sequence>
52                 <xs:element name="Width" type="xs:positiveInteger"/>
53                 <xs:element name="Height" type="xs:positiveInteger"/>
54               </xs:sequence>
55             </xs:complexType>
56           </xs:element>
57           <xs:element minOccurs="1" name="MainPictureActiveArea">
58             <xs:complexType>
59               <xs:sequence>
60                 <xs:element name="Width" type="xs:positiveInteger"/>
61                 <xs:element name="Height" type="xs:positiveInteger"/>
62               </xs:sequence>
63             </xs:complexType>
64           </xs:element>
65           <xs:element minOccurs="0" name="MainSubtitleLanguageList">
66             <xs:simpleType>
67               <xs:restriction base="meta:LanguageListType">
68                 <xs:minLength value="1"/>
69               </xs:restriction>
70             </xs:simpleType>
71           </xs:element>
72           <xs:element minOccurs="0" name="ExtensionMetadataList">
73             <xs:complexType>
74               <xs:sequence>
75                 <xs:element maxOccurs="unbounded" minOccurs="0" name="ExtensionMetadata" type="meta:ExtensionMetadataType"> </xs:element>
76               </xs:sequence>
77             </xs:complexType>
78           </xs:element>
79           <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
80         </xs:sequence>
81       </xs:extension>
82     </xs:complexContent>
83   </xs:complexType>
84   <xs:simpleType name="StatusEnum">
85     <xs:restriction base="xs:token">
86       <xs:enumeration value="final"/>
87       <xs:enumeration value="temp"/>
88       <xs:enumeration value="pre"/>
89     </xs:restriction>
90   </xs:simpleType>
91   <xs:simpleType name="LuminanceUnitEnum">
92     <xs:restriction base="xs:token">
93       <xs:enumeration value="foot-lambert"/>
94       <xs:enumeration value="candela-per-square-metre"/>
95     </xs:restriction>
96   </xs:simpleType>
97   <xs:simpleType name="PositiveDecimal">
98     <xs:restriction base="xs:decimal">
99       <xs:minExclusive value="0"/>
100     </xs:restriction>
101   </xs:simpleType>
102   <xs:simpleType name="LanguageListType">
103     <xs:restriction>
104       <xs:simpleType>
105         <xs:list itemType="xs:language"/>
106       </xs:simpleType>
107     </xs:restriction>
108   </xs:simpleType>
109   <xs:complexType name="ExtensionMetadataType">
110     <xs:sequence>
111       <xs:element name="Name" type="xs:string"/>
112       <xs:element minOccurs="0" name="PropertyList">
113         <xs:complexType>
114           <xs:sequence>
115             <xs:element maxOccurs="unbounded" name="Property">
116               <xs:complexType>
117                 <xs:sequence>
118                   <xs:element name="Name" type="xs:string"/>
119                   <xs:element name="Value" type="xs:string"/>
120                 </xs:sequence>
121               </xs:complexType>
122             </xs:element>
123           </xs:sequence>
124         </xs:complexType>
125       </xs:element>
126       <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
127     </xs:sequence>
128     <xs:attribute name="scope" type="xs:anyURI" use="required"/>
129   </xs:complexType>
130 </xs:schema>