Verify MCA tags.
[libdcp.git] / xsd / SMPTE-335-2012.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema
3         xmlns:r0="http://www.smpte-ra.org/reg/2003/2012"
4         xmlns:xlink="http://www.w3.org/1999/xlink"
5         attributeFormDefault="unqualified"
6         elementFormDefault="qualified"
7         targetNamespace="http://www.smpte-ra.org/reg/335/2012"
8         xmlns:xs="http://www.w3.org/2001/XMLSchema"
9         xmlns:r1="http://www.smpte-ra.org/reg/335/2012">
10
11 <xs:import namespace="http://www.smpte-ra.org/reg/2003/2012"/>
12 <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.w3.org/1999/xlink.xsd"/>
13
14 <xs:simpleType name="UUID">
15 <xs:restriction base="xs:anyURI">
16 <xs:pattern value="urn:uuid:[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}"/>
17 </xs:restriction>
18 </xs:simpleType>
19
20 <xs:complexType name="UUIDArray">
21 <xs:sequence>
22 <xs:element maxOccurs="unbounded" minOccurs="0" name="Thing" type="r1:UUID"/>
23 </xs:sequence>
24 </xs:complexType>
25
26 <xs:attribute name='escaped' type='xs:boolean'/>
27
28 <xs:complexType name="UTF16String">
29 <xs:simpleContent>
30 <xs:extension base="xs:string">
31 <xs:attribute ref="r1:escaped" use="optional"/>
32 </xs:extension>
33 </xs:simpleContent>
34 </xs:complexType>
35
36 <xs:simpleType name='AUID'>
37     <xs:restriction base='xs:anyURI'>
38         <xs:pattern 
39                 value='urn:smpte:ul:([0-9a-fA-F]{8}\.){3}[0-9a-fA-F]{8}'/>
40         <xs:pattern 
41             value='urn:uuid:[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}'/>
42     </xs:restriction>
43 </xs:simpleType>
44
45 <xs:complexType name="ISO7">
46 <xs:simpleContent>
47 <xs:extension base="xs:string">
48 <xs:attribute ref="r1:escaped" use="optional"/>
49 </xs:extension>
50 </xs:simpleContent>
51 </xs:complexType>
52
53 <xs:simpleType name="UInt32">
54 <xs:union>
55 <xs:simpleType>
56 <xs:restriction base="xs:unsignedInt"/>
57 </xs:simpleType>
58 <xs:simpleType>
59 <xs:restriction base="xs:string">
60 <xs:pattern value="0x[0-9a-fA-F]{1,8}"/>
61 </xs:restriction>
62 </xs:simpleType>
63 </xs:union>
64 </xs:simpleType>
65
66 <xs:element name="GroupOfSoundfieldGroupsLinkID" type="r1:UUIDArray"/>
67 <xs:element name="MCALinkID" type="r1:UUID"/>
68 <xs:element name="MCATagName" type="r1:UTF16String"/>
69 <xs:element name="MCATitleSubVersion" type="r1:UTF16String"/>
70 <xs:element name="MCALabelDictionaryID" type="r1:AUID"/>
71 <xs:element name="MCATagSymbol" type="r1:UTF16String"/>
72 <xs:element name="RFC5646SpokenLanguage" type="r1:ISO7"/>
73 <xs:element name="MCAPartitionKind" type="r1:UTF16String"/>
74 <xs:element name="MCAPartitionNumber" type="r1:UTF16String"/>
75 <xs:element name="MCATitleVersion" type="r1:UTF16String"/>
76 <xs:element name="MCAAudioContentKind" type="r1:UTF16String"/>
77 <xs:element name="MCAAudioElementKind" type="r1:UTF16String"/>
78 <xs:element name="MCAEpisode" type="r1:UTF16String"/>
79 <xs:element name="MCAChannelID" type="r1:UInt32"/>
80 <xs:element name="InstanceID" type="r1:UUID"/>
81 <xs:element name="LinkedGenerationID" type="r1:AUID"/>
82 <xs:element name="MCATitle" type="r1:UTF16String"/>
83 <xs:element name="SoundfieldGroupLinkID" type="r1:UUID"/>
84
85 </xs:schema>