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